![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 55
|
Вот объясните мне неучу, почему компилятор ругается на Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null" ?
Класс Main.as public class Main extends Sprite { private var _menu:menuMain = new menuMain(); public function Main():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } public function init():void { removeEventListener(Event.ADDED_TO_STAGE, init); showMenu(); } public function showMenu():void { addChild(_menu); } } public class menuMain extends MovieClip { private var stg:Stage; public static var _mainMenu:mainMenu; public function menuMain() { _mainMenu = new mainMenu(); x = stg.stageWidth / 2; y = stg.stageHeight / 2; addChild(_mainMenu); } } Когда в mainMenu классе пишешь х = 200 и т.д., тоже работает. Но когда в mainMenu пишешь x = stage.stageWidth / 2 и т.д., даже с указанием this.stage... ругается на ошибку 1009... Почему? Либо дайте ссылку на матчасть. |
|
|||||
|
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Stage становится достпупным только после добавление ДисплейОбджекта в дисплейЛист.
К stage нужно обращаться либо после добавления объекта на сцену, либо в классе этого объекта слушать добавление на сцену через Event.ADDED_TO_STAGE |
|
|||||
|
Вот мат часть http://flasher.ru/forum/showpost.php...6&postcount=78
Ваш класс menuMain сам по себе не может обратиться к stage (можно через root)
__________________
Дети не должны знать о своих родителях |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 55
|
Работает, спасибо =)
|
![]() |
![]() |
Часовой пояс GMT +4, время: 06:44. |
|
|
« Предыдущая тема | Следующая тема » |
|
|