Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[98.82.140.17] |
|
Сообщ.
#1
,
|
|
|
Проект ActionScript3.0. В конструкторе главного класса хочу инициализировать сцену. Проблема в том что на этапе выполнения выдается ошибка:
"TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null"." смысл ошибки ясен, вопрос что нужно поменять чтоб stage не был "null"? P.S. Adobe Flash CS5 Professional, код прилагается (жалких 10 строчек))) Прикреплённый файлmain.rar (8,46 Кбайт, скачиваний: 673) |
Сообщ.
#2
,
|
|
|
Дело в том, что пока Displayable-объект не добавлен на сцену, свойство stage этого объекта очевидно равно null (сначала выполняется конструктор объекта). Я делаю так:
public class YourMainClass extends Sprite { public function YourMainClass ():void { addEventListener(Event.ADDED_TO_STAGE, startApplication); // больше ничего сюда не пишите без острой необходимости } private function startApplication (e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, startApplication); // Здесь ВЕСЬ ваш код инициализации приложения } } Есть и другие варианты, но этот самый простой. |
Сообщ.
#3
,
|
|
|
piksel, спасибо огромное - заработало! одним ответом и объяснил и дал решение
P.S. а я уж и не знал что придумать. |
Сообщ.
#4
,
|
|
|
Цитата piksel @ Дело в том, что пока Displayable-объект не добавлен на сцену, свойство stage этого объекта очевидно равно null (сначала выполняется конструктор объекта). Я делаю так: public class YourMainClass extends Sprite { public function YourMainClass ():void { addEventListener(Event.ADDED_TO_STAGE, startApplication); // больше ничего сюда не пишите без острой необходимости } private function startApplication (e:Event):void { removeEventListener(Event.ADDED_TO_STAGE, startApplication); // Здесь ВЕСЬ ваш код инициализации приложения } } Есть и другие варианты, но этот самый простой. может, подскажите пожалуйста, где ошибка в моем случае? последовательность действий такая: 1) создал простенький сайт с горизонтальным меню из кнопок 2) добавил кнопки вертикального подменю 3) при программировании кнопок в АС с первым подменю все ОК (ГЛАВНАЯ - (а)новости,(б)всеуслуги) 4) начинаю программировать второе подменю (ТАРИФЫ - (а)физлица,(б)юрлица,(с)допуслуги) вылазит ошибка: TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at datanet_fla::MainTimeline/frame1() погуглив, пришел к выводу, что ошибка в том, что объект - кнопка "физлица" либо не существует либо еще не на сцене. переделал действия 1-4 пошагово несколько раз - с первым подменю все ок, со вторым - эта ошибка где косяки?... файл с АС прилагаю.... Прикреплённый файлas.txt (1,21 Кбайт, скачиваний: 441) |
Сообщ.
#5
,
|
|
|
на каком фрейме код, и на каком фрейме второе подменю?
|
Сообщ.
#6
,
|
|
|
Цитата Vesper @ на каком фрейме код, и на каком фрейме второе подменю? спасибо, навели на путь решения! код на подменю писал в первом кадре, а то, которое не работало, появлялось в 21 - перенес код в 21-й кадр и все стало ОК!) бывает жеж - решение просто и под носом, а помогает только взгляд со стороны... |