![]() |
Полностью удалить мувик + его класс
Допусти я создаю определенный клас на рут
var enemy:game.enemy = new game.enemy(); addChild(enemy); Как его потом полностью удалить? именно со своим классом.. Потому что если писать просто removeChild(enemy) удаляется вроде токо визуальная часть класса, и поетому потом вылазиют ошибки типо немогут выполнятся действия для нулл обьектов. пример ошибки: Цитата:
|
Логически подходи к этой проблеме.
У тебя выскакивает ошибка по методу update() объекта enemy. Это означает, что ты обращаешься к этому методу либо когда уже объект удален снаружи, либо изнутри самого удаленного объекта. Скорее всего у тебя внутри объекта висит евент, который этот метод вызывает. Что нужно сделать? Всего лишь, написать метод удаления объекта, который исключит работу евентов уже после удаления объекта. В методе удаления напиши удаление всех евентов внтури объекта и только потом применяй parent.removeChild(this). |
Вобщем большое спасибо. Твой скрипт не помог но ты наталкнул меня на путь истинный :) я просто удалил метод update с помощью removeEventListener(Event.ENTER_FRAME,update) и удалил чхилд.
Спасибо! |
PeTa4eK, вы где-нибудь в флешовом фреймворке видели классы, у которых имена с маленькой буквы начинаются? Если нет, то почему ваши классы имеют имена с маленькой буквы?
|
PeTa4eK, еще как бы помог. Ты сделал точно также, только через задницу ;)
Мой совет является более правильным в том плане, что в метод удаления самого себя ты потом можешь добавить удаление любого евента, который в последствии добавил. _etc не даст соврать ;) |
Цитата:
Блин проблема осталась... незнаю почему вылазиют ошибочки :( вобщем вот исходник: -УДАЛЕНО- Управление стрелками, левая кнопка вытащить лезвия.Помогите плиззз! Ошибки: Цитата:
|
Вобщем решил свою проблему. Конечно через попу. Ошибка помоему была изза того что почемуто выполнялось еще какоето действие после удаления...
Вобщем я создал переменную которая меняет свое значение при удалении евента, и потом если значение какоето то удаляется графическая составляющая в другом евенте(тот уже удален). |
| Часовой пояс GMT +4, время: 20:52. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.