그래서 "오류 # 1063 : 인수 개수 불일치"오류가 발생합니다. 이상한 점은 게임을 계속 실행하지 못하는 것입니다.하지만 왜 처음에는 오류가 발생하는지 알고 싶습니다. 전체 오류는 다음과 같습니다mystery 오류 # 1063 : 인수 수가 일치하지 않습니다.
는ArgumentError: Error #1063: Argument count mismatch on Hock(). Expected 3, got 0.
at flash.display::Sprite/constructChildren()
at flash.display::Sprite()
at flash.display::MovieClip()
at PlayScreen()[Z:\PROJECTS\Silversound\Occulus Squish\Oculus Squish\Classes\PlayScreen.as:30]
at Main/addPlayscreen()[Z:\PROJECTS\Silversound\Occulus Squish\Oculus Squish\Classes\Main.as:17]
at Main()[Z:\PROJECTS\Silversound\Occulus Squish\Oculus Squish\Classes\Main.as:13]
at runtime::ContentPlayer/loadInitialContent()
at runtime::ContentPlayer/playRawContent()
at runtime::ContentPlayer/playContent()
at runtime::AppRunner/run()
at ADLAppEntry/run()
at global/runtime::ADLEntry()
PlayScreen에 대한 코드는 다음과 같습니다
import flashx.textLayout.formats.BackgroundColor;
import flash.display.SimpleButton;
import flash.ui.Mouse;
import flash.text.TextField;
import flash.display.MovieClip;
import flash.events.Event;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
public class PlayScreen extends MovieClip
{
public var batArmy:Array;
public var hockArmy:Array;
public var shadow:Shadow;
public var crossHairs:CrossHairs;
var Layer01:MovieClip;
var Layer02:MovieClip;
var Layer03:MovieClip;
var Layer04:MovieClip;
var Layer05:MovieClip;
var randomX:Number = 300 + (660 - 300) * Math.random();
public function PlayScreen()
{
//Mouse.hide();
addBatButton.addEventListener(MouseEvent.CLICK, addBat);
addHockButton.addEventListener(MouseEvent.CLICK, addHock);
batArmy = new Array();
hockArmy = new Array();
//addEventListener(Event.ENTER_FRAME, crossHairsMove);
//stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyPress);
Layer01 = new MovieClip;
this.addChild(Layer01);
Layer02 = new MovieClip;
this.addChild(Layer02);
Layer03 = new MovieClip;
this.addChild(Layer03);
Layer04 = new MovieClip;
this.addChild(Layer04);
Layer05 = new MovieClip;
this.addChild(Layer05);
//add crossHair
/*crossHairs = new CrossHairs(mouseX,mouseY,this);
Layer05.addChild (crossHairs);
addEventListener(Event.ENTER_FRAME, crossHairsMove);*/
}
/*public function onKeyPress(keyboardEvent:KeyboardEvent):void
{
if (keyboardEvent.keyCode == Keyboard.DOWN)
{
trace("yar");
addBat;
}
}*/
public function addBat(mouseEvent:MouseEvent):void
{
var randomX:Number = 300 + (660 - 300) * Math.random();
var newBat = new Bat(randomX, -50, this);
batArmy.push (newBat);
Layer02.addChild (newBat);
}
public function addHock(mouseEvent:MouseEvent):void
{
var newHock = new Hock(-72, 170, this);
hockArmy.push (newHock);
Layer02.addChild (newHock);
}
/*public function crossHairsMove (e:Event):void
{
crossHairs.x = mouseX;
crossHairs.y = mouseY;
}*/
}
및 오류가 호크 클래스와 함께 할 수있는 뭔가가 그것의 모습에서
, 그래서 여기에 대한 코드입니다 : 이제import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
import flash.ui.Mouse;
import flash.events.KeyboardEvent;
import flash.ui.Keyboard;
import flash.events.Event;
public class Hock extends MovieClip
{
private var _screen: PlayScreen;
public var xSpeed:Number;
public function Hock(startX:Number, startY:Number, screen:PlayScreen)
{
_screen = screen;
x = startX;
y = startY;
width = 100;
scaleY = scaleX;
addEventListener(Event.ENTER_FRAME, moveRightFar);
addEventListener(Event.ENTER_FRAME, moveSpeed)
}
public function moveSpeed(e:Event):void
{
x += xSpeed;
}
public function moveRightFar (e:Event): void
{
if (x < 0)
{
gotoAndStop("rollRight");
xSpeed = 13;
}
else if (x >= 240)
{
gotoAndStop("still")
xSpeed = 0;
}
}
}
제가 틀릴 수도 있지만 나는 그것이 "addHock"기능에 var newHock = new Hock(-72, 170, this);
에 문제가 생각,하지만 난 거기에 3 개 인수, 0이 아닌 오른쪽이? 어쨌든, 내가 말했듯이 게임이 계속 실행되지는 않지만 귀찮은 일 이니 어떤 통찰력이라도 환영합니다. 나는 그것이 명백한 무엇인가 확실하다. 감사! 소스 코드 가리키는 스택 트레이스의
첫 번째 줄의 첫 번째 줄에서 지적
at PlayScreen()[Z:\PROJECTS\Silversound\Occulus Squish\Oculus Squish\Classes\PlayScreen.as:30]
입니다 ...