2015-02-08 6 views
0

Итак, здесь я проверяю, когда пуля попадает на вражеское судно в моей игре. Я пытаюсь проверить тип врага в массиве по имени объекта, чтобы делать определенные вещи для этого врага, код ниже.action script 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 к классу Enemy. Это решение не лучше для этого конкретного случая, но может быть полезно в некоторых других случаях. Например, вы можете иметь врагов того же класса, но возвращать разные типы.

if (enemies[j].getType() == EnemyType.ENEMY_YELLOW) // do something 
Смежные вопросы