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