![]() |
|
|
|||||
Регистрация: Oct 2008
Сообщений: 14
|
![]() Всем привет.
Проблема в том, что не могу реализовать свое событие( в аттаче приложены исходники примера работать все должно так - класс Test в конструкторе подписывается на событие CustomEvent.MYEVENT с обработчиком myEventHandler и выполняет функцию TheOtherClass.doSmth(), откуда и рассылается событие. Хотелось бы, чтобы TheOtherClass не наследовал EventDispatcher, а создавал экземпляр EventDispatcher, с помощью которого и делал рассылку (если это возможно конечно). Подскажите плз....или может ктонибудь исправит исходники и выложит работающий вариант? test.rar |
|
|||||
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
Примерно так
package { import flash.events.Event; import flash.events.EventDispatcher; import flash.events.IEventDispatcher; public class TheOtherClass implements IEventDispatcher { private var _eventDispatcher:EventDispatcher; public function OtherClassDis() { _eventDispatcher = new EventDispatcher(this); } public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void { _eventDispatcher.addEventListener(type,listener,useCapture,priority,useWeakReference); } public function dispatchEvent(event:Event):Boolean { return _eventDispatcher.dispatchEvent(event); } public function hasEventListener(type:String):Boolean { return _eventDispatcher.hasEventListener(type); } public function removeEventListener(type:String,listener:Function,useCapture:Boolean = false):void { _eventDispatcher.removeEventListener(type,listener,useCapture); } public function willTrigger(type:String):Boolean { return _eventDispatcher.willTrigger(type); } } } Последний раз редактировалось r_r_f_r; 24.01.2009 в 19:16. |
|
|||||
стервочка (я мужик)
|
r_r_f_r, лучше в конструкторе сделать так:
тогда в таргете событий будет экземпляр класса TheOtherClass.
|
|
|||||
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
BlooDHounD, задремал малость
![]() |
|
|||||
Регистрация: Oct 2008
Сообщений: 14
|
а как рассылать тогда событие? так не работает
|
|
|||||
стервочка (я мужик)
|
у меня работает.
|
|
|||||
Регистрация: Sep 2008
Адрес: Москва
Сообщений: 224
|
Тебе нужно подписать именно объект to.
Последний раз редактировалось r_r_f_r; 25.01.2009 в 11:07. |
|
|||||
kyrpyr, а зачем испльзовать композицию в TheOtherClass в отношении EventDispatcher. Или вы хотите TheOtherClass унаследоваь от другого класса.
__________________
Оптимизация производительности на уровне кода |
|
|||||
Регистрация: Oct 2008
Сообщений: 14
|
Цитата:
Цитата:
с экземпляром класса все ясно, а как поступить, если функция doSmth статическая и вызывается соответственно от имени класса? |
![]() |
![]() |
Часовой пояс GMT +4, время: 00:23. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|