![]() |
|
||||||||||
|
|||||
|
Добрый день! Помогите решить следующую проблему:
Имеется класс class utilities.Events { private static var _event:Object = new Object(); public function Events() { AsBroadcaster.initialize(_event); } public static function dispatchEvent(event:String, param:Object):Void { _event.broadcastMessage(event, param); } public static function addEventListener (type:String, func:Function):Void { var _listener:Object = new Object (); _listener[type] = func; _event.addListener(_listener); } } В другом классе я подписываюсь на событие: Ну и наконец оправляю событие: В итоге - тишина, ничего не работает. ![]() Спасибо. |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
А почему не EventDispatcher?
|
|
|||||
|
Не нашел в хэлпе упоминания о нем
![]() ______________ Подписываюсь на событие я в классе, который прикрепил к мувиклипу через библиотеку: При этом, конструктор класса вызывается, но на событие мы не подписываемся. В чем проблема? Последний раз редактировалось BBOY Ильич; 01.03.2009 в 18:37. |
|
|||||
|
ветеран форума
|
Гм. Конструктор Events не вызывается, так как используются только его статические методы. Соответственно, броадкастер не инициализируется и ничего не происходит. переименуй констркутор в статический метод и вызывай его перед добавлением листенеров, либо введи флаг, который показывает инициализирован ли броадкастер, и инициализируй внутри Events при первом вызове addEventListener или dispatchEvent
__________________
4am is time to rock |
|
|||||
|
DarkLight, спасибо, но я вызываю конструктор из главного класса, так что броадкастер инициализируется.
Проблема, я так понимаю, в том, что броадкастер инициализируется позже подписывания на событие... _________ Цитата:
![]() Последний раз редактировалось BBOY Ильич; 01.03.2009 в 18:49. |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
EventDispatcher в компонентах 2.0 описан. mx.events.EventDispatcher;. Такой диспатчер самому сделать тоже труда особого не составит >_>. К сожелению в нем нет ничего волшебного
![]() |
|
|||||
|
ветеран форума
|
Проверь порядок вызова и проставлен ли импорт. Код работает.
__________________
4am is time to rock |
|
|||||
|
Banned
[+5 15.02.09]
[++5 15.02.09] Регистрация: Mar 2008
Адрес: Krasnoyarsk
Сообщений: 587
|
Ну да потому он и написал что все вышло )
|
![]() |
![]() |
Часовой пояс GMT +4, время: 16:36. |
|
|
« Предыдущая тема | Следующая тема » |
|
|