#actionscript-3 #events
#actionscript-3 #Мероприятия
Вопрос:
в чем разница между Event и EventDispacher
когда я создаю пользовательский класс событий, как я его создаю и расширяю до Event или eventDispacher?
Ответ №1:
пакет {импорт flash.events.Событие; вот как вы можете расширить событие: общедоступный класс CustomEvent расширяет событие { общедоступная статическая константа CUSTOM_EVENT:Строка = «CustomEvent»; общедоступный параметр переменной:Object;
public function BannerEvent( type:String, param:Object = null, bubbles:Boolean = false, cancelable:Boolean = false )
{
super( type, bubbles, cancelable );
this.param = param?param: { };
}
}
}
Ответ №2:
EventDispatcher, как указано в названии, отправит событие. Например, если в вашем пользовательском компоненте реализован IEventDispatcher, он сможет отправлять события.
Во Flash все DisplayObjects могут отправлять события по умолчанию.
В Flex все UIComponents могут отправлять события по умолчанию.
Чтобы создать пользовательское событие, вы можете сделать следующее:
package{
import flash.events.Event;
public class MyCustomEvent extends Event
{
private var _test:String;
public function MyCustomEvent(test:String)
{
super("MyCustomEvent", false, false);
this.test = test;
}
public function set test(value:String):void{
_test = value;
}
public function get test():String{
return test;
}
}}
Затем, чтобы отправить его, вы либо отправляете событие из экранного объекта, либо создаете пользовательский компонент, который реализует IEventDispatcher
и сделайте это:
dispatchEvent(new MyCustomEvent("This is a test event"));
Приветствия