![]() |
EventDispatcher and classes
Привет. Проблема такая:
Есть 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 и ветки форума. Но не вставило. Родилась вот такая кухня: Код AS3:
customDisp.dispatchEvent(new Event("DELETE_WINDOW")); в методе и public var customDisp:customEvents = new customEvents(); в переменных класса А в классе-листнере: customDisp.addEventListener("DELETE_WINDOW", aaa); Теперь у меня есть 1120: Access of undefined property customDisp. Переменная в упор вторым классом не видится. Как заставить всю эту штуку работать? Благодарю. |
Сначала нужно дождаться добавления на сцену, потом уже подписываться на события.
К тому же, непонятно, каким образом вы хотите получить невсплывающее событие от Stage. |
а где можно увидеть всю эту штуку? Вы не привили никакого примера того где у вас, что-то не так. экстрасенсы покинули форум.
|
По поводу
Код AS3:
когда Вы пишете Код AS3:
2) должен существовать event (хотя можно заменить его на new Event("some_string")) 3) должен существовать handler + он должен быть public для организации подобного рода взаимодействия между объектами разных классов можно передавать ссылки в прописанные в объектах функции Проще говоря, есть родительский объект A. - В нем при создании дочернего объекта B мы регистрируем ссылку на B - При создании дочернего объекта C мы регистрируем ссылку на C - В самом объекте B мы диспатчим некое событие, а в родительском A его слушаем - Когда событие услышано - вызываем нужную функцию объекта C Соответственно, одно условие: у объектов B и C должен быть общий родитель A |
Цитата:
|
Цитата:
Всем спасибо. |
Цитата:
Сори, не должен конечно =) |
| Часовой пояс GMT +4, время: 21:01. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.