自定义事件类的方法——实现接口

================Main文档类================

package {
	import flash.display.Sprite;
	public class Main extends Sprite {
		public function Main():void {
			var a:MyEventObject=new MyEventObject();
			a.addEventListener(MouseEvent.CLICK,an);
			function an(evt:MouseEvent) {
				//代码行,此处省略
			}
		}
	}
}

================MyEventObject发送事件类================

package {
	import flash.events.Event;
	import flash.events.EventDispatcher;
	import flash.events.IEventDispatcher;
	public class MyEventObject extends IEventDispatcher {
		private var abc:EventDispatcher;
		public function MyEventObject():void {
			abc=new EventDispatcher(this);//复合EventDispatcher类
		}
		//重写IEventDispatcher接口的5个方法,这里只列举2个
		public function addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void {
			abc.addEventListener(type, listener, useCapture, priority, useWeakReference);
		}
		public function dispatchEvent(evt:Event):void {
			return abc.dispatchEvent(evt);
		}
	}
}
原文地址:https://www.cnblogs.com/leon3286/p/1704423.html