0
我正在制作一个游戏,屏幕上方的昆虫向下移动到底部。对象是玩家用他/她的鼠标杀死这些昆虫。杀死昆虫时应该显示一个杀戮框架,在那里我已经投入。杀戮框架将在那里停留3秒钟,并且物体将被移除。这也会增加玩家的分数。我该如何解决这个问题?
此代码被写入该昆虫内:
function kill(event:MouseEvent):void
{
this.dead = true;
}
此代码是背景的movieclip框内写入。
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);
}
我遇到的问题是,每当我点击它们留在那里的昆虫。我点击另一个它停留在那里。然后又一次,然后过了一段时间,他们消失,得分增加。有时死亡框架不会出现,只要我碰它们就会死亡。你能告诉我如何解决这个问题吗?
问题是你每3秒就会移除一次敌人。你应该这样做,而不是点击敌人。 – Pier
请为问题使用更具描述性的标题。 – LopSae