Просмотр полной версии : Не удаляются из спрайта childrens
Vansimar
30.11.2013, 16:39
пишу так
for (var j:int=0;j<achievFront.numChildren;j++){
achievFront.removeChildAt(j);
}
trace(achievFront.numChildren);
трейс вдает 3, как так????
RandomUser
30.11.2013, 16:47
achievFront.removeChildren(); // для 11-го плеера и выше
while (achievFront.numChildren > 0) achievFront.removeChildAt(0); //для всех остальных
Vansimar
30.11.2013, 16:48
ну у меня 11 плеер и выше
RandomUser
30.11.2013, 16:50
Т.е. вопрос был почему так, а не как удалить всех детей?
при удалении объекта numChildren уменьшается на 1, а переменная в цикле - нет
Zebestov
30.11.2013, 18:22
Нет слова childrens. Children — это уже множественное число от child.
caseyryan
30.11.2013, 19:52
У тебя не правильный цикл используется. В нем происходит инкремент, а в контейнере декремент.
Короче говоря вот так можно сделать:
while (achievFront.numChildren) achievFront.removeChildAt(0);
Нет слова childrens. Children — это уже множественное число от child.
Тоже хотел это сказать))
Проще говоря, когда ты с нулевого уровня удаляешь, на него перемещается с первого, а на первый — со второго. Ты удаляешь с первого, на него перемещается тот, который изначально был на третьем, и т.д. То есть в реальности ты удаляешь элементы "через один".
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.