![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
|
Вроде все просто но я ничего не пойму.Flash не хочет компилировать,выдает:TypeError: Error #1009: Cannot access a property or method of a null object reference.
Надо динамически получить экземпляр символа из библиотеки и отобразить его на сцене. Большая просьба помочь. Файл в атаче. |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
в linkage поменять controlPanel.ControlPanel на ControlPanel
|
|
|||||
|
Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
|
Поменял,fla сохранил.Все равно пишет TypeError: Error #1009:
Flash CS3 |
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
а сорри..не то посомтрел...короче...initPanel() вызывать после срабатывания события ADDED_TO_STAGE . И поставьте в cs3 permit debugging...тогда он пишет на какой строчке ошибка
|
|
|||||
|
Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
|
Не компилирует все равно.Выдает:TypeError: Error #1009: Cannot access a property or method of a null object reference
|
|
|||||
|
Регистрация: May 2003
Адрес: Tallinn
Сообщений: 3,182
|
поставьте debug mode и смотрите где ошибка...всё работает если делать как я написал выше
|
|
|||||
|
Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
|
У Вас компилирует без ошибок?
|
|
|||||
|
controlPanel не может обрашаться на прямую к stage и его свойствам.
Т.е. вы создаёте в Маин - controlPanel, который ссылается на stage, до тех пор как он добавлен на stage. Цитата:
http://flasher.ru/forum/showpost.php...6&postcount=78
__________________
"I am the terror that flaps in the night…!" Последний раз редактировалось CEBEP; 20.02.2009 в 20:54. |
|
|||||
|
Регистрация: Jan 2009
Сообщений: 38
|
Anddrey, во-первых, очевидно, что скомпилировать таки получается, потому что ошибка Cannot access a property or method of a null object reference — это ошибка времени выполнения.
Суть ошибки в том, что вы обращаетесь к не созданному объекту, странно, что вы не нашли эту ошибку отладкой, как вы пробовали отладить? |
|
|||||
|
Регистрация: Jan 2001
Адрес: Украина
Сообщений: 284
|
Я вижу что на сцене экземпляр не появляется.Отладка ругается на строчках
По синтаксису ошибок нет.Я все равно не понимаю как заставить код работать
Добавлено через 6 минут При чем если клатешь символ из библиотеки руками на сцену.События для ControlPanel отрабатываются.Вот мой код: package controlPanel { import flash.display.*; import flash.ui.Keyboard; import flash.display.MovieClip; import flash.events.Event; import flash.events.MouseEvent; import flash.events.KeyboardEvent; public class ControlPanel extends MovieClip { public var cur_state:String; private var xOpen,xClose:int; private var yOpen,yClose:int; public function ControlPanel() { addEventListener(Event.ADDED_TO_STAGE, added, false, 0, true); } public function initPanel(){ xClose=0; yClose=0; yClose=35;//stage.stageHeight-35; xOpen=0; yOpen=160;//stage.stageHeight-160; this.x=xClose; this.y=yClose; cur_state="close"; //trace("initPanel work stage.height="+stage.stageHeight); } public function initEvents(){ stage.addEventListener(KeyboardEvent.KEY_DOWN, KeyDownHandler); addEventListener(MouseEvent.MOUSE_DOWN, MouseDownHandler); } private function added(e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, added, false); initPanel(); initEvents(); } private function openPanel(){ this.y=yOpen; cur_state="open"; } private function closePanel(){ this.y=yClose; cur_state="close"; } //------------------Event handel--------------------------------- private function MouseDownHandler(e:MouseEvent):void { trace("MouseDown onControlPanel!!!"); if (cur_state == "open"){ closePanel(); } else { openPanel(); } } private function KeyDownHandler(e:KeyboardEvent):void { trace("PRESS "+e.keyCode); switch(e.keyCode) { case Keyboard.SPACE: if (cur_state == "open"){ closePanel(); } else { openPanel(); } break; } } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 16:48. |
|
|
« Предыдущая тема | Следующая тема » |
|
|