我正在制作一个游戏,其中屏幕上方的昆虫向下移动到底部。目标是让玩家用他/她的鼠标杀死这些昆虫。杀死昆虫后,应显示一个杀死框架,我已将其放入。杀死框架将在那里停留 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);
}
我遇到的问题是,每当我点击昆虫时,它们都会呆在那里。我点击另一个它停留在那里。然后是另一个,过了一会儿它们消失了,分数增加了。有时死亡框架不会出现,我一碰它们就死了。你能告诉我如何解决这个问题吗?