Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 20.02.2011, 10:38
TexHuK вне форума Посмотреть профиль Отправить личное сообщение для TexHuK Найти все сообщения от TexHuK
  № 1  
Ответить с цитированием
TexHuK

Регистрация: Feb 2009
Сообщений: 57
По умолчанию удаление потомков через цикл

Пытаюсь удалить объекты из контейнера через цикл, т. е. сделать очистку сцены, и не могу понять почему происходит ошибка на 53-й итерации

Код AS3:
        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: Предоставленный индекс выходит за допустимые пределы.
ругается именно на
Код AS3:
var zombieContainerZ:zombieMc = zombieContainer.getChildAt(i) as zombieMc;
в чем причина? вроде в контейнере zombieContainer столько объектов, скалько указанно на момент входа в цикл.. и почему именно на 53? ктати, один момент, если объектов 107, то 53, если 106, то 52-я итерация с ошибкой. Что не так?

Создать новую тему   Часовой пояс GMT +4, время: 20:57.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 20:57.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.