Я согласен с Organis. Враги действительно являются массивом, поэтому для доступа к их x и y вам понадобятся враги [0] .x. Чтобы это исправить, я бы поместил координаты x в цикл for, как у вас, для координаты y.
В качестве альтернативы, в зависимости от того, сколько у вас врагов, я бы добавил класс врагу. Таким образом, враг будет появляться и знать, что делать в своем классе. Я думаю, что это было бы проще, так как не требовалось бы убирать массив, когда враг был удален. Вы также можете адаптировать его так, чтобы у каждого врага было случайное значение скорости, позволяющее получить более динамичные результаты.
Удачи
Edit:
Хорошо, вот мой плохой только что понял, что я не очень ясно. что я имею в виду это:
//move enemies//
if (enemies.length != 0) {
for (var j: int = 0; j < enemies.length; j++) {
enemies[j].y += 5;
}
}
Работает нормально. Каждый враг будет двигаться 5 раз, когда на него ссылаются. Почему бы вам не скопировать и не вставить оставшуюся часть кода в этот цикл, а вместо использования врагов.х используйте врагов [j] .x.
Я думаю, что класс для каждого отдельного врага будет лучшим решением, и я думаю, что вы должны взглянуть на него.
Надеюсь, что это имеет больше смысла и снова приносит свои извинения.