![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2009
Сообщений: 57
|
Пытаюсь удалить объекты из контейнера через цикл, т. е. сделать очистку сцены, и не могу понять почему происходит ошибка на 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: Предоставленный индекс выходит за допустимые пределы. в чем причина? вроде в контейнере zombieContainer столько объектов, скалько указанно на момент входа в цикл.. и почему именно на 53? ктати, один момент, если объектов 107, то 53, если 106, то 52-я итерация с ошибкой. Что не так? |
|
|||||
|
Регистрация: Apr 2010
Адрес: Earth
Сообщений: 1,897
|
с конца нужно идти, с конца...
__________________
Загружаем картинки, минуя ошибки безопасности |
|
|||||
|
Регистрация: Nov 2009
Адрес: СПб
Сообщений: 2,236
|
середина
по мере удаления объектов размер массива уменьшается вот правильный код: |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 57
|
Цитата:
благодарю ![]() все работает как надо! Последний раз редактировалось TexHuK; 20.02.2011 в 10:51. |
![]() |
![]() |
Часовой пояс GMT +4, время: 11:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|