![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 26.12.11]
[+1 11.09.11] Регистрация: Feb 2011
Сообщений: 117
|
Добрый день , есть собственный класс, экземпляр которого будет создан в основном классе программы.
вопрос : как обратиться к классу stage изнутри собственного класса . при попытке зарегистрировать stage как приемник события пишет ошибку TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at **имя пакета** ::**имя класа**/**название функции** если регистрировать приемники в stage через основной класс то все работает, но экземпляров моего класса будет много, то смысла нет регистрировать одно и тоже событие под каждый собственный класс Добавлено через 2 минуты т.е есть класс допустим MyClass { ..тело класса .. stage.addEventListener(MouseEvent.MOUSE_DOWN,function1) } такой код вызывает эту ошибку |
|
|||||
|
[+1 26.12.11]
[+1 11.09.11] Регистрация: Feb 2011
Сообщений: 117
|
т.е схематично программа так вылядит
MainClass { ...тело класса .. public var A: MyClass = new MyClass ; .. тело класса .. } |
|
|||||
|
сначала нужно дождаться когда ваш экземпляр будет добавлен к стейджу.. внутри собственного класса пишем:
|
|
|||||
|
[+1 26.12.11]
[+1 11.09.11] Регистрация: Feb 2011
Сообщений: 117
|
понял, спасибо большое
Добавлено через 10 минут все равно нулл, чето не так делаю, щас буду разбираться Добавлено через 11 минут сделал как сказали, в спрайте зарегил событие Event.ADDED_TO_STAGE с функцией внутри функцию поместил код trace(stage) - выдает null |
|
|||||
|
а ваш класс вообще имеет stage? т.е. он наследуется от DisplayObject'а?
__________________
Gamedev != Gaming (http://twitter.com/#!/GenzoDev). Don't forget to [+] if it works. |
|
|||||
|
[+1 26.12.11]
[+1 11.09.11] Регистрация: Feb 2011
Сообщений: 117
|
ну да, наследуется от спрайта
Добавлено через 2 минуты структура собсвенного класса MyClass extends Sprite { public var sprite : Sprite = new Sprite ( ); public function MyClass ( ) { sprite.addEventListener(Event.ADDED_TO_STAGE, onAdded) ; } private function onAdded(event:Event):void { this.removeEventListener(Event.ADDED_TO_STAGE, onAdded); trace(stage) // выдает null ; } } Последний раз редактировалось Bazel; 14.12.2011 в 17:58. |
|
|||||
|
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
|
[+1 26.12.11]
[+1 11.09.11] Регистрация: Feb 2011
Сообщений: 117
|
структура всей программы
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|