Actionscript3 と Adobe Flash CS5.5 を使用して、初めてのフラッシュ ゲームを作成しています。ゲームのコンセプトは、宇宙船に乗って小惑星を避けようとすることです。小惑星を避ける時間が長いほど、より多くのポイントを獲得できます。私はそれがあまり独創的ではないことを知っています。今日、突然、次のエラーが発生しました。
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 ) );
}
}
}
}
}