![]() |
|
||||||||||
|
|||||
|
Регистрация: Jun 2010
Сообщений: 18
|
Добрый вечер.
Пишу програму, которая должна загружать некоторые объекты на сцену, и, по необходимости, удалять. код в классе: private function newBad(i:int,m:int):void{ u['bad'+i+''+m] = new bad(); addChild(u['bad'+i+''+m]); u['bad'+i+''+m].addEventListener(bad._KILL,killBad); } private function killBad (e):void{ removeChild(e.target); e.target = null; } что делать?
__________________
trolling-forum.ru | Троллинг Форум Сайт посвященный толстому и тонкому троллингу |
|
|||||
|
Регистрация: Jan 2009
Адрес: Петерсбург
Сообщений: 1,882
|
|
|
|||||
|
тут вряд ли дело в target. трабла, скорее в том, что ваш BAD не умирает по 2 причинам + он продолжает диспатчить событие(это предположение).1 - не отписан от обработки события. 2 - не удален из массива.
попробуйте private function killBad (e):void{ var bad:bad = e.target as bad; bad.removeEventListener(bad._KILL,killBad); //если u -массив, то: u.splice(u.indexOf(bad),1); //если u - Object, то предварительно присвойте своему инстансу свойство name и по нему занулите в обжекте. removeChild(bad); bad = null; }
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Регистрация: Jun 2010
Сообщений: 18
|
Спасибо большое. Я забыл снять слушатель событий, и возникала ошибка.
__________________
trolling-forum.ru | Троллинг Форум Сайт посвященный толстому и тонкому троллингу |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|