Удалить "себя" через некоторое время.
У меня есть такой код с парой классов. Появляются спрайты, а потом исчезают. У меня ничего не лагает, но если посмотреть количество "детей" у "RandCircle", то их становится все больше и больше. Удалять изнутри класса Circle у меня не получается. Что посоветуете?
RandCircle.as Основной класс. Код AS3:
Код AS3:
Так же хотел для производительности сделать класс Circle наследуемым от Shape, но у Shape вообще нет removeChild(); Как удалять объект Circle, после того, как его непрозрачность стала меньше или равна 0.1. Добавлено через 1 минуту update: Попробовал с помощью TIMER_COMPLETE, но проблема остается в том же... Так же не смог сделать с помощью dispatchEvent... |
Код AS3:
|
TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null".
at Circle/onTimer() at flash.utils::Timer/_timerDispatch() at flash.utils::Timer/tick() И начало сильно лагать. |
А вообще, нужно переделать структуру этого блока:
родитель создает экземпляры детей, подписывая их на кастомное событие removeMe. Ребенок, в нужный момент диспатчит событие removeMe, родитель слушает и удаляет его из себя (и из массива, если ребенки помещались в массив). |
Самое интересное, что если просто оставить код таким:
Код AS3:
|
Ну и условие я бы переписал:
Код AS3:
|
Так не работает, где ошибка..?
Код AS3:
Код AS3:
|
Код AS3:
|
Я еще не учился использовать свои события, знаю о них мало. Как надо написать? :(
|
Код AS3:
|
Часовой пояс GMT +4, время: 23:43. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.