Я делаю игру, в которой насекомые сверху экрана двигаются вниз к низу. Цель игрока состоит в том, чтобы убить этих насекомых своей мышью. При убийстве насекомое должно показать кадр уничтожения, куда я его вставил. Кадр уничтожения останется там на 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);
}
Проблема, с которой я сталкиваюсь, заключается в том, что всякий раз, когда я нажимаю на насекомых, они остаются там. Я нажимаю на другой, он остается там. Потом еще один, потом через какое-то время они исчезают и счет увеличивается. Иногда рамка смерти не появляется, и они умирают, как только я к ним прикасаюсь. Не могли бы вы рассказать мне, как я могу это решить?