画面の上から虫が下に移動するゲームを作っています。オブジェクトは、プレイヤーがマウスでこれらの昆虫を殺すことです。昆虫を殺すと、私が入れた場所にキル フレームが表示されます。キル フレームは 3 秒間そこにとどまり、オブジェクトは削除されます。これにより、プレイヤーのスコアも増加します。
このコードは昆虫の中に書かれています:
function kill(event:MouseEvent):void
{
this.dead = true;
}
このコードは、背景のムービークリップ フレーム内に記述されます。
function moveEnemies():void
{
var tempEnemy:MovieClip;
for (var i:int =enemies.length-1; i>=0; i--)
{
tempEnemy = enemies[i];
if (tempEnemy.dead)
{
tempEnemy.gotoAndStop(21);
var myTimer:Timer = new Timer(3000);
myTimer.addEventListener(TimerEvent.TIMER, timerListener);
myTimer.start();
}
}
}
function timerListener (e:TimerEvent):void
{
for (var i:int =enemies.length-1; i>=0; i--)
{
if (tempEnemy.dead)
{
score++;
roachLevel.score_txt.text = String(score);
removeEnemy(i);
}
}
}
function removeEnemy(id:int)
{
removeChild(enemies[id]);
enemies.splice(id,1);
}
これで私が経験している問題は、昆虫をクリックするたびにそこにとどまることです。そこにとどまる別のものをクリックします。それから別の、そしてしばらくすると消えてスコアが上がります。たまにデスフレームが出現せず、触れただけで死んでしまいます。これを解決する方法を教えてください。