![]() |
как обратится к stage внтури собственного класса?
Добрый день , есть собственный класс, экземпляр которого будет создан в основном классе программы.
вопрос : как обратиться к классу stage изнутри собственного класса . при попытке зарегистрировать stage как приемник события пишет ошибку TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". at **имя пакета** ::**имя класа**/**название функции** если регистрировать приемники в stage через основной класс то все работает, но экземпляров моего класса будет много, то смысла нет регистрировать одно и тоже событие под каждый собственный класс Добавлено через 2 минуты т.е есть класс допустим MyClass { ..тело класса .. stage.addEventListener(MouseEvent.MOUSE_DOWN,function1) } такой код вызывает эту ошибку |
Event.ADDED_TO_STAGE для DispayObject
|
т.е схематично программа так вылядит
MainClass { ...тело класса .. public var A: MyClass = new MyClass ; .. тело класса .. } |
сначала нужно дождаться когда ваш экземпляр будет добавлен к стейджу.. внутри собственного класса пишем:
Код AS3:
|
понял, спасибо большое
Добавлено через 10 минут все равно нулл, чето не так делаю, щас буду разбираться Добавлено через 11 минут сделал как сказали, в спрайте зарегил событие Event.ADDED_TO_STAGE с функцией внутри функцию поместил код trace(stage) - выдает null |
а ваш класс вообще имеет stage? т.е. он наследуется от DisplayObject'а?
|
ну да, наследуется от спрайта
Добавлено через 2 минуты структура собсвенного класса Код AS3:
|
Код AS3:
|
структура всей программы
Код AS3:
|
У вас какой то треш.
|
нда , спасибо )
Добавлено через 19 минут все же если есть соображения буду очень рад Добавлено через 56 минут вот бесит в таких моментах зависать по два часа..елки палки |
Сделай то, что написал GBee: http://www.flasher.ru/forum/showpost...20&postcount=8
|
|
я сделал это , не воркает. я понял идею, не пашет все равно
Добавлено через 51 секунду так, спасибо за топик большое viktorami, буду разбираться |
свойство stage есть только у того дисплейОбджекта, который добавляется на стейдж.
Если у вас добавляется MyClass.sprite, тогда и stage есть у MyClass.sprite, а не у MyClass. Код AS3:
|
crazyone , спасибо за умный совет, все заработало !)
Добавлено через 1 минуту надо было внутри класса регать так - Код AS3:
|
| Часовой пояс GMT +4, время: 04:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.