Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не удаляются из спрайта childrens (http://www.flasher.ru/forum/showthread.php?t=205363)

Vansimar 30.11.2013 16:39

Не удаляются из спрайта childrens
 
пишу так
Код AS3:

for (var j:int=0;j<achievFront.numChildren;j++){
 
                                        achievFront.removeChildAt(j);
 
                        }
                        trace(achievFront.numChildren);

трейс вдает 3, как так????

RandomUser 30.11.2013 16:47

Код AS3:

achievFront.removeChildren(); // для 11-го плеера и выше

Код AS3:

while (achievFront.numChildren > 0) achievFront.removeChildAt(0); //для всех остальных


Vansimar 30.11.2013 16:48

ну у меня 11 плеер и выше

RandomUser 30.11.2013 16:50

Т.е. вопрос был почему так, а не как удалить всех детей?

Isfet 30.11.2013 17:10

при удалении объекта numChildren уменьшается на 1, а переменная в цикле - нет

Zebestov 30.11.2013 18:22

Нет слова childrens. Children — это уже множественное число от child.

caseyryan 30.11.2013 19:52

У тебя не правильный цикл используется. В нем происходит инкремент, а в контейнере декремент.
Короче говоря вот так можно сделать:
Код AS3:

while (achievFront.numChildren) achievFront.removeChildAt(0);

Цитата:

Нет слова childrens. Children — это уже множественное число от child.
Тоже хотел это сказать))

Wolsh 30.11.2013 19:59

Проще говоря, когда ты с нулевого уровня удаляешь, на него перемещается с первого, а на первый — со второго. Ты удаляешь с первого, на него перемещается тот, который изначально был на третьем, и т.д. То есть в реальности ты удаляешь элементы "через один".


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

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