2015-02-08 101 views
0

因此,我要檢查子彈在我的遊戲中撞擊敵方船隻的時間。我試圖通過對象名來檢查數組中的敵人類型,以便爲該敵人執行特定的事情,代碼如下。動作腳本3 - 與陣列問題

for (var i = bullets.length - 1; i >= 0; i--) { 
     for (var j = enemies.length - 1; j >= 0; j--) { 
      if (_bullets[i].hitTestObject(enemies[j])) { 

       if (enemies[j] == EnemyYellow) { 
         trace("do something"); 
        } 

       stage.removeChild(enemies[j]); 
       stage.removeChild(bullets[i]); 
       bullets.splice(i, 1); 
       enemies.splice(j, 1); 
       return; 
      } 
     } 
    } 

這就像我以爲會工作,但我將不勝感激,如果任何人都可以幫助我,因爲我不知道如何做到這一點。

if (enemies[j] == EnemyYellow) { 
      trace("do something"); 
     } 

回答

2

您可以使用關鍵字is

if (enemies[j] is EnemyYellow) { 
    trace("do something"); 
} 
1

您還可以添加一個方法GetType敵人類。這種解決方案對於這種特殊情況並不好,但在其他一些情況下可能會有用。例如,您可以擁有同一班級的敵人,但返回不同的類型。

if (enemies[j].getType() == EnemyType.ENEMY_YELLOW) // do something