Actionscript 3事件和事件调度员

时间:2011-05-24 09:30:47

标签: actionscript-3 events

Event和EventDispacher之间的差异

当我创建Custom Event类时,我如何创建它并将其扩展到Event或eventDispacher?

2 个答案:

答案 0 :(得分:0)

EventDispatcher会在名称中发出一个事件。 例如,如果您的自定义组件实现IEventDispatcher,它将能够分派事件。

在Flash中,默认情况下,所有DisplayObject都可以调度事件。

在Flex中,所有UIComponent都可以默认调度事件。

要创建自定义事件,您可以执行以下操作:

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

干杯

答案 1 :(得分:0)

包 {     import flash.events.Event; 这就是你如何扩展一个事件:     公共类CustomEvent扩展了Event     {         public static const CUSTOM_EVENT:String =“customEvent”;         public var param:Object;

    public function BannerEvent( type:String, param:Object = null, bubbles:Boolean = false, cancelable:Boolean = false ) 
    {
        super( type, bubbles, cancelable );
        this.param = param?param: { };
    }

}

}