![]() |
|
||||||||||
|
|||||
|
Мне нужно, чтобы объект удалил сам себя. Можно ли написать this=null, или есть другие, более подходящие способы.
__________________
Я не злопамятный, я запишу |
|
|||||
|
StasMIX
Обнулить все таймеры и ентер фрейми в себе. Удалить все ссылки на себя, в том числе из дисплей обжекта. После этого ваш объект сожрет GC.
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Сам себя объект удалить не может.
|
|
|||||
|
[+1 20.11.11]
Регистрация: May 2011
Адрес: Orenburg
Сообщений: 37
|
|
|
|||||
|
так делать не стоит
__________________
местонахождение |
|
|||||
|
scarm, так вы только удалите себя из списка отображения и только(в частных случаях этого может хватить) и то, можно, как мимимум, пару рте словить. объект должен удалять тот, кто его создал. Обычно делают метод например destroy или free в к. отписываются от всех событий, освобождают все ресурсы к. могут, в том числе и у дочерних объектов, и зануляют все ссылки. Ну и занулить все внешние ссылки на этот объект и отписаться от событий этого объекта.
__________________
http://www.chessmax.ru Последний раз редактировалось Inet_PC; 14.01.2012 в 17:39. |
|
|||||
|
Ну в идеале это надо делать примерно так:
1. Удалить внутри объекта все подписки на таймеры, ентерфреймы и прочую муть(желательно рекурсивно, чтоб и в детях это всё тоже очистилось) 2. продиспатчить наверх событие "удали меня" 3. сверху кто-то получит событие и удалит этот объект со сцены.
__________________
Кто к нам с чем для чего - тот у нас того от того. |
|
|||||
|
Lorem ipsum
|
Dukobpa3, если уж быть совсем последовательным, то:
1. Сверху вызывается публичный destroy(), в котором мы производим операции из п.1 твоей схемы 2. Сверху же следом отписываемся от событий (если были подписчики) и удаляем со сцены.
__________________
Поймай яблоко 2! |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:30. |
|
|
« Предыдущая тема | Следующая тема » |
|
|