2 つのオブジェクト間のヒット テストをチェックできるこのコードがあります。
public function loop(e:Event):void
{
y += speed;
if (y > stageRef.stageHeight)
{
setupAsteroid();
}
if (hitTestObject(target.hit))
{
q++;
if(q == 3){
myTextBox.text = myText;
stage.addChild(myTextBox)
trace(myText)
}
trace("Hit");
trace(q);
stageRef.addChild(new Explosion(stageRef, x, y));
removeSelf();
}
}
ご覧のとおり、ヒット テストが 3 回発生すると、「ゲーム オーバー」と出力されるはずですが、次のヒントを追加する必要があります。
private function removeSelf():void
{
removeEventListener(Event.ENTER_FRAME, loop);
if (stageRef.contains(this))
{
stageRef.removeChild(this);
}
}
ただし、必要なものをすべて削除するには、イベントリスナーを削除し、q = 0 を再度作成します。3 つのヒット テストが発生した場合にダイアログが出力されるようにするにはどうすればよいですか?