Цитата:
Сообщение от AlexLucas
Покажите что это за функция knowzombie() и кто такой Zombie у вас в if'e, вы всех зомби в одном мувике 'Zombie' держите?
Возможно вы удаляете не того зомби из массива, соответственно на него ссылка остаётся, а когда вы опять пытаетесь его удалить, то выскакивает ошибка.
|
Тот Zombies[i] в if`е это один из тех зомби, который содержится в массиве. Вот как создавался массив:

Код AS3:
private function createZombies(count:int) : void {
for (var i = 0; i < count; i++) {
Zombies[i] = Zombie;
addChild(Zombies[i]);
var randNumX: Number = Math.round(Math.random() * 780);
var randNumY: Number = Math.round(Math.random() * 580);
Zombies[i].x = randNumX;
Zombies[i].y = randNumY;
trace("Создался " + (i+1) + " зомби с координатами (" + randNumX + ", " + randNumY + ").");
}
}
В функции Zombie это public var Zombie:MovieClip = new zombie1();
zombie1 - класс самого зомби, к которому привязан символ в библиотеке.
Вызывается функция из главной функции: createZombies(3); Кстати зомби должно быть три на поле, но появляется один (с этим тоже ещё не разобрался). В trace показывается, что они трое появились по разным координатам, но виден только последний (второй заменил первого, третий второго).
knowzombie узнает какой именно зомби из массива Zombies столкнулся с пулей.

Код AS3:
private function knowzombi(k:int) : int {
var temp:int = 0;
for (var i = 0; i < Zombies.length; i++) {
if (Zombies[i].hitTestObject(Bullets[k])) {
temp = i;
break;
}
}
return temp;
}