我一直在編碼一個非常基本的遊戲的開始,我碰到了一堵牆。當我編譯我的代碼,遊戲運行,但吐出運行時錯誤:Flash遊戲錯誤#1063
ArgumentError: Error #1063: Argument count mismatch on block(). Expected 2, got 0.
at flash.display:: Sprite/constructChildren()
at flash display::Sprite()
at flash.display::MovieClip()
at AvoiderGame().
這裏是我的文檔類名爲AvoiderGame
:
package
{
import flash.display.MovieClip;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class AvoiderGame extends MovieClip
{
public var avatar1:avatar;
public var gameTimer:Timer;
public var army:Array;
public function AvoiderGame()
{
army=new Array();
var newblock= new block(100,-15);
army.push(newblock);
addChild(newblock);
avatar1=new avatar();
addChild (avatar1);
avatar1.x=mouseX;
avatar1.y=mouseY;
gameTimer=new Timer(25);
gameTimer.addEventListener(TimerEvent.TIMER, onTick);
gameTimer.start();
}
public function onTick(timerEvent:TimerEvent):void
{
if (Math.random() < 0.1)
{
var randomX:Number = Math.random() * 400;
var newblock:block = new block(randomX, -15);
army.push(newblock);
addChild(newblock);
}
avatar1.x = mouseX;
avatar1.y = mouseY;
for each (var block1:block in army)
{
block1.moveDownaBit();
if (avatar1.hitTestObject(block1))
{
gameTimer.stop();
}
}
}
}
}
最後,這裏是我block
類裏面好像有構造函數導致錯誤。
package
{
import flash.display.MovieClip;
public class block extends MovieClip
{
public var block1:block;
public function block(startX:Number, startY:Number)
{
x=startX;
y=startY;
}
public function moveDownaBit():void
{
y=y+3;
}
}
}
所有我試圖去工作是一系列的敵人在舞臺上隨機產卵和落下沒有頭像圖標擊中它的。我會很感激任何幫助,我可以收到很大。
嗨,我已經更新了你的問題和@DavidMear提供使用單詞'block'答案。 – Marty