Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Удаление всех объектов на сцене и событий (http://www.flasher.ru/forum/showthread.php?t=166502)

Isaac 03.09.2011 18:55

Удаление всех объектов на сцене и событий
 
Здравсвуйте.
Посдкажите пожалуйста, как можно в цикле(или другим способом) удалить все объекты и слушатели событий на сцене?

goodguy 03.09.2011 18:59

Слушатели никак, если не известно какие были добавлены, на счет объектов, например так:
Код AS3:

while (stage.numChildren > 0) {
      stage.removeChildAt(0);
}


Isaac 03.09.2011 19:05

Цитата:

Сообщение от goodguy (Сообщение 1027961)
Слушатели никак, если не известно какие были добавлены, на счет объектов, например так:
Код AS3:

while (stage.numChildren > 0) {
      stage.removeChildAt(0);
}


А есть еще варианты, у меня ошибку
Код AS3:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
        at Main/liveTimerEnd()
        at flash.utils::Timer/_timerDispatch()
        at flash.utils::Timer/tick()


saikspaik 03.09.2011 19:36

Цитата:

А есть еще варианты, у меня ошибку
Так там как раз слушатели остались, судя по всему.

goodguy 03.09.2011 20:29

Цитата:

Сообщение от Isaac (Сообщение 1027963)
А есть еще варианты, у меня ошибку
Код AS3:

TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
        at Main/liveTimerEnd()
        at flash.utils::Timer/_timerDispatch()
        at flash.utils::Timer/tick()


Варианты то, естественно, есть, но результат их работы будет таким же. Здесь по таймеру производятся какие-то действия с некоторым(и) объектом(и), который(е) удаляются в этом цикле. Нужно проверить, что происходит в обработчике событий таймера

Isaac 03.09.2011 23:13

Цитата:

Сообщение от goodguy (Сообщение 1027970)
Варианты то, естественно, есть, но результат их работы будет таким же. Здесь по таймеру производятся какие-то действия с некоторым(и) объектом(и), который(е) удаляются в этом цикле. Нужно проверить, что происходит в обработчике событий таймера

А если еще удалить все события включая сами таймер?


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

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