В этой ситуации я бы просто использовал обычный массив. Объявите это так:
var enemyArray:Array = new Array();
Тогда он готов принимать объекты. Затем создайте цикл for, как вы это сделали, чтобы добавить в массив столько врагов, сколько вы хотите, и дать им некоторую информацию о положении, а также добавить их в рабочую область:
//Creates 10 enemies
for (var i:int = 0; i < 10; i++)
{
var enemy:Sprite = new Sprite();
enemy.x = i*10; //this will just assign some different x and y value depending on i.
enemy.y = i*11;
enemyArray.push(enemy); //put the enemy into the array
addChild(enemy); //puts it on the stage
}
Это поставит 10 вражеских объектов (которые вам нужно будет определить, я полагаю, вы знаете, как связать новый класс с объектом в библиотеке Flash IDE?) На сцене. Отсюда у вас есть массив, заполненный этими врагами, и вы можете перемещаться по нему, перемещая их, обнаруживая столкновения с ними, убивая их и удаляя их со сцены и т. Д.
То, как вы это сделали, похоже, помещает их в Объект в соответствии с их именами, что, пожалуй, одинаково выполнимо. Я не понимаю, почему вам обязательно нужно получить к ним доступ по имени, и в этом случае способ Array несколько упрощает его.
Также обратите внимание, что это не загружает врагов на сцену с использованием списка строк , так как в этом нет особой необходимости - если только вы сначала не поместили расположение файлов с кучей изображений на HD использовать как игровые спрайты) в массиве как Strings; затем последовательно для того, чтобы загрузить их на сцену.
Надеюсь, это поможет, дайте мне знать, если у вас есть дополнительные вопросы, или если это не тот ответ, который вы искали.