Доброго времени суток
Периодически вываливается ошибка
TypeError: Error #1009: Cannot access a property or method of a null object reference.
О причине я догадываюсь, нов голову не приходит решение.
Думаю проблема в том, что я запуская два цикла while, и когда хиттест вызывает функция "fn_enemy_1_damage" и там выполняется условие, необходимые для удаления объекта, то в цикле происходит сбой, т.к. он вызывает удалённый объект. В голову так и не приходит, как исправить ошибку

Код AS3:
function fn_hittest(): void {
var i: Number = enemy_1_Array.length;
while (i--) {
var j: Number = FireArray.length;
while (j--) {
var enemy_1: enemy_1_mc = enemy_1_Array[i];
var boll_st: boll_mc = FireArray[j];
if (enemy_1.hitTestObject(boll_st)) {
fn_expl(boll_st.x, boll_st.y);
if (boll_st.tip == 1) {
fn_point(500);
fn_enemy_1_damage(i, 15);
}
if (boll_st.tip == 2) {
fn_point(100);
fn_enemy_1_damage(i, 10);
}
removeChild(boll_st);
FireArray.splice(j, 1);
}
}
}
}
//жизни врагов enemy_1_Array: Array = new Array();
function fn_enemy_1_damage(i: Number, damage: Number): void {
var enemy_1: enemy_1_mc = enemy_1_Array[i];
enemy_1.life = enemy_1.life - damage;
if (enemy_1.life <= 0) {
removeChild(enemy_1_Array[i]);
removeChild(vihlop_l_enemy_1_Array[i]);
removeChild(vihlop_r_enemy_1_Array[i]);
enemy_1_Array.splice(i, 1);
vih_l_enemy_1_Array.splice(i, 1);
vih_r_enemy_1_Array.splice(i, 1);
}
}