![]() |
|
||||||||||
|
|||||
|
Регистрация: Nov 2010
Сообщений: 111
|
Создаю клип. После условий хочу его удалить. Он удаляется - на него не реагируют события. Но он все равно проигрывается внутри себя. (на одном кадре у меня стоит звук) - который позволяет это проверить. В чем загвоздка ?
var enemys:enemy01=new enemy01(); addChild(enemys); enemys.name="enemy" enemys.x=400; enemys.y=200; addEventListener(Event.ENTER_FRAME,da); function da(event:Event){ getChildByName("enemy").x-=2 if(getChildByName("enemy").x<340){ removeChild(getChildByName("enemy")); removeEventListener(Event.ENTER_FRAME,da); } } |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 300
|
Выписка из хелпа:
removeChild () Удаляет заданный дочерний объект DisplayObject из списка потомков экземпляра DisplayObjectContainer. Свойство parent удаленного потомка получает значение null, а сам объект очищается, если нет других ссылок на потомка. Позиции индекса экранных объектов, расположенных над потомком в DisplayObjectContainer уменьшаются на 1. Сборка мусора — это процесс, с помощью которого проигрыватель Flash Player перераспределяет неиспользуемую память. Когда на переменную или объект больше нет ссылок или он хранится в другом месте, сборщик мусора очищает и утилизирует память, которую он занимал, при условии отсутствия ссылок |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 111
|
Или не страшно, что объект будет в где то в памяти?
а проблему со звуком можно решить просто не вставляя его в кадры клипа Последний раз редактировалось TEI; 25.06.2011 в 21:02. |
|
|||||
|
Регистрация: Nov 2009
Сообщений: 300
|
Ничего не понял.
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Цитата:
п.с. Такой подход: Лично дял меня, походит на быдлокодерство. Зачем обращаться к объету по имени, когда он и так известен? |
|
|||||
|
Надо остановить все процессы внутри удаляемого объекта. Памяти он может есть не много, а вот процессорного времени - достаточно. GC на это не реагирует. В вашем случае, надо отановить каретку и прекратить воспроизведение звука.
__________________
RTFM |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 111
|
Дело в том, что я создаю кучу объектов используя enemys, просто задавая каждому разное имя, поэтому и обращаюсь по имени.
|
|
|||||
|
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
В чем смысл таких операций?
Я могу понять, когда объекты создаются в цикле. Но цикл не силен в придумывании имен ). Тут, цикла явно нет. Так зачем создавать кучу объектов вручную, используя одну и ту же переменную? При этом, придумывая каждый раз новое имя |
|
|||||
|
Регистрация: Nov 2010
Сообщений: 111
|
Код написанный в 1 посте лишь пример - написанный, для удобства проверки.
Исходный код создает объекты вот таким образом: Затем я проверяю с помощью массива все клипы на различные условия. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:09. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|