TexHuK
20.02.2011, 10:38
Пытаюсь удалить объекты из контейнера через цикл, т. е. сделать очистку сцены, и не могу понять почему происходит ошибка на 53-й итерации
trace("zc "+zombieContainer.numChildren);
containerObject = zombieContainer.numChildren;
trace("co1 "+containerObject);
for (i = 0; i < containerObject; i++)
{
var zombieContainerZ:zombieMc = zombieContainer.getChildAt(i) as zombieMc;
zombieContainer.removeChild(zombieContainerZ);//удалим его из контейнера
trace("co for " + containerObject);
trace("i " + i);
trace("object "+zombieContainerZ);
}
результаты трейса
zc 0
co1 0
zc 107
co1 107
co for 107
i 0
object [object zombieMc]
co for 107
i 1
object [object zombieMc]
co for 107
.....
i 52
object [object zombieMc]
co for 107
i 53
object [object zombieMc]
[Fault] exception, information=RangeError: Error #2006: Предоставленный индекс выходит за допустимые пределы.
ругается именно на
var zombieContainerZ:zombieMc = zombieContainer.getChildAt(i) as zombieMc;
в чем причина? вроде в контейнере zombieContainer столько объектов, скалько указанно на момент входа в цикл.. и почему именно на 53? ктати, один момент, если объектов 107, то 53, если 106, то 52-я итерация с ошибкой. Что не так?
trace("zc "+zombieContainer.numChildren);
containerObject = zombieContainer.numChildren;
trace("co1 "+containerObject);
for (i = 0; i < containerObject; i++)
{
var zombieContainerZ:zombieMc = zombieContainer.getChildAt(i) as zombieMc;
zombieContainer.removeChild(zombieContainerZ);//удалим его из контейнера
trace("co for " + containerObject);
trace("i " + i);
trace("object "+zombieContainerZ);
}
результаты трейса
zc 0
co1 0
zc 107
co1 107
co for 107
i 0
object [object zombieMc]
co for 107
i 1
object [object zombieMc]
co for 107
.....
i 52
object [object zombieMc]
co for 107
i 53
object [object zombieMc]
[Fault] exception, information=RangeError: Error #2006: Предоставленный индекс выходит за допустимые пределы.
ругается именно на
var zombieContainerZ:zombieMc = zombieContainer.getChildAt(i) as zombieMc;
в чем причина? вроде в контейнере zombieContainer столько объектов, скалько указанно на момент входа в цикл.. и почему именно на 53? ктати, один момент, если объектов 107, то 53, если 106, то 52-я итерация с ошибкой. Что не так?