![]() |
|
||||||||||
|
|||||
|
[+1 20.01.09]
Регистрация: Nov 2008
Адрес: Kiev
Сообщений: 18
|
Привет. Проблема такая:
Есть 2 класса. В одном классе событие создается, в другом - слушается. В начале пробовал сделать это через stage.dispatchEvent(new Event("DELETE_WINDOW")); а во втором классе stage.addEventListener("DELETE_WINDOW", aaa); в результате: TypeError: Error #1009: Не удается вызвать свойство или метод со ссылкой на объект "null". Затем вкурил вот это http://help.adobe.com/ru_RU/AS3LCR/F...ispatcher.html и ветки форума. Но не вставило. Родилась вот такая кухня: import flash.events.IEventDispatcher; import flash.events.EventDispatcher; import flash.events.Event; class customEvents implements IEventDispatcher { private var dispatcher:EventDispatcher; public function customEvents() { dispatcher = new EventDispatcher(this); } и так далее по тексту примера customDisp.dispatchEvent(new Event("DELETE_WINDOW")); в методе и public var customDisp:customEvents = new customEvents(); в переменных класса А в классе-листнере: customDisp.addEventListener("DELETE_WINDOW", aaa); Теперь у меня есть 1120: Access of undefined property customDisp. Переменная в упор вторым классом не видится. Как заставить всю эту штуку работать? Благодарю. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Сначала нужно дождаться добавления на сцену, потом уже подписываться на события.
К тому же, непонятно, каким образом вы хотите получить невсплывающее событие от Stage. |
|
|||||
|
стервочка (я мужик)
|
а где можно увидеть всю эту штуку? Вы не привили никакого примера того где у вас, что-то не так. экстрасенсы покинули форум.
|
|
|||||
|
По поводу
могу предположить, что import применяется для классов, а для интерфейсов в определении класса стоит добавить ключевое слово implements когда Вы пишете 1) должен существовать object 2) должен существовать event (хотя можно заменить его на new Event("some_string")) 3) должен существовать handler + он должен быть public для организации подобного рода взаимодействия между объектами разных классов можно передавать ссылки в прописанные в объектах функции Проще говоря, есть родительский объект A. - В нем при создании дочернего объекта B мы регистрируем ссылку на B - При создании дочернего объекта C мы регистрируем ссылку на C - В самом объекте B мы диспатчим некое событие, а в родительском A его слушаем - Когда событие услышано - вызываем нужную функцию объекта C Соответственно, одно условие: у объектов B и C должен быть общий родитель A
__________________
...вселенская грусть |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
|
|
|||||
|
[+1 20.01.09]
Регистрация: Nov 2008
Адрес: Kiev
Сообщений: 18
|
Цитата:
ADDED_TO_STAGE помогло.Всем спасибо. |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:25. |
|
|
« Предыдущая тема | Следующая тема » |
|
|