我正在使用 Actionscript3 和 Adobe Flash CS5.5 创建我的第一个 Flash 游戏。游戏的概念就是你在宇宙飞船里,你试图避开小行星。你避开小行星的时间越长,你得到的分数就越多。我知道这不是很原始。今天突然出现这个错误:
TypeError: Error #2007: Parameter hitTestObject must be non-null.
这个错误正在做的是,当宇宙飞船撞击小行星时,什么也没有发生。宇宙飞船刚刚飞过。
我不知道如何解决这个问题。这是我的代码:
public class AvoiderGame extends MovieClip
{
public var army:Array;
public var gameTimer:Timer;
public var avatar:Avatar;
public function AvoiderGame()
{
army=new Array();
avatar=new Avatar();
addChild( avatar );
avatar.x=mouseX;
avatar.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 newEnemy=new Enemy(randomX,-15);
army.push( newEnemy );
addChild( newEnemy );
}
avatar.x=mouseX;
avatar.y=mouseY;
for each ( var enemy:Enemy in army )
enemy.moveDownABit();
{
if (avatar.hitTestObject( enemy ))
{
gameTimer.stop();
dispatchEvent( new AvatarEvent( AvatarEvent.DEAD ) );
}
}
}
}
}