Flashカスタムイベント


Flashをずっとやっていますが、カスタムイベントを実現する方法を示します.コードは次のとおりです.
package  
{
	import flash.events.Event;
	/**
	 * ...
	 * @author aisajiajiao
	 */
	public class CustomEvent extends Event
	{
		// , 。
		public static const HELLO_WORLD:String = "helloWorld";
		
		public function CustomEvent(type:String,bubbles:Boolean = false,canceable:Boolean = false) 
		{
			super(type,bubbles,cancelable);
		}
		
		// 
		override public function clone():Event 
		{
			return super.clone();
		}
		
		override public function toString():String 
		{
			return super.toString();
		}
	}

}

カスタムクラスはclone()メソッドを常に書き換え、再調整時に強制変換エラーが発生しないようにします.
次はテストクラスです.
package 
{
	import flash.display.Sprite;
	
	/**
	 * ...
	 * @author aisajiajiao
	 */
	
	public class Main extends Sprite 
	{
		private var sprite:Sprite;
		
		public function Main()
		{
			sprite = new Sprite();
			sprite.addEventListener(CustomEvent.HELLO_WORLD, handler);
			sprite.dispatchEvent(new CustomEvent(CustomEvent.HELLO_WORLD));
		}
		
		private function handler(e:CustomEvent):void
		{
			trace(" ");
			trace(e.clone());
			trace(e.toString());
		}
	}
	
}

コードは簡単で、見てみると簡単です!