|
|
|||||
Регистрация: Sep 2009
Сообщений: 39
|
Игровое мею, ошибка #1009
Здравствуйте. Никак не получается удалить клип со сцены, говорит что нельзя удалять объекты со значением="null".
У меня есть клип LevelSelecMenu по нажатию кнопки Level 1, которая находится на нем, создается объект level_1 класса Level_1. В Level_1 нужно удалить объект level_1 со сцены. LevelSelectMenu package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events.MouseEvent; public class LevelSelectMenu extends MovieClip { public static var level_1:Level_1; public function LevelSelectMenu() { Level_1Button.addEventListener(MouseEvent.CLICK, Level_1ButtonClick); } private function Level_1ButtonClick(e:MouseEvent) { level_1=new Level_1(); stage.addChild(level_1); } } } Последний раз редактировалось FX2000; 17.10.2009 в 00:53. Причина: Сократил код |
|
|||||
Регистрация: Sep 2009
Сообщений: 39
|
Исходники
Последний раз редактировалось FX2000; 17.10.2009 в 00:59. |
|
|||||
Регистрация: Sep 2009
Сообщений: 39
|
Понимаю, что ошибка со 1009 проблемой не нова, но может вы всё-таки дадите какие нибудь советы как её побороть? Спасибо.
|
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Разберитесь, кто, к кому и зачем добавляется и у кого что пытается удалить.
|
|
|||||
Регистрация: Sep 2009
Сообщений: 39
|
Цитата:
Я сократил код и изменил архив с исходниками, теперь нету лишних деталей. Именил Level_1 package { import flash.display.MovieClip; import flash.events.Event; public class Level_1 extends MovieClip { public function Level_1() { try { stage.removeChild(LevelSelectMenu.level_1); } catch(e:Error) { trace("Этого объекта нету на сцене"); } } } } LevelSelectMenu. Почему так? Последний раз редактировалось FX2000; 17.10.2009 в 15:41. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Вообще-то у вас на момент выполнения конструктора Level_1 ещё нет доступа к stage.
|
|
|||||
Регистрация: Sep 2009
Сообщений: 39
|
Кажись заработало
package { import flash.display.MovieClip; import flash.events.Event; public class Level_1 extends MovieClip { public function Level_1() { addEventListener(Event.ADDED_TO_STAGE, level_1Added); } private function level_1Added(e:Event) { removeLevel_1(); } private function removeLevel_1() { removeEventListener(Event.ADDED_TO_STAGE, level_1Added); stage.removeChild(LevelSelectMenu.level_1); } } } |
Часовой пояс GMT +4, время: 19:58. |
|
« Предыдущая тема | Следующая тема » |
|
|