Событие сценария действий 3 и диспетчер событий

#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"));
  

Приветствия