as2の学校2日目レポートでEventDispatcherのことも書こうと思っていたんですが、AS2のコードなので、AS3で開発を始めた今となっては使えねぇナァ、と思いつつヘルプなどを読んで自分なりにAS3版を作ってみました。
Main.as(ドキュメントクラス)
package { import flash.display.MovieClip; import flash.events.Event; public class Main extends MovieClip { public function Main() { var dispatcher:CustomDispatcher = new CustomDispatcher("aho"); dispatcher.addEventListener(CustomDispatcher.ACTION, actionHandler); dispatcher.doAction(); } private function actionHandler(event:Event):void { trace("actionHandler: " + event); trace(event.type); } } }
CustomDispatcher.as
package { import flash.events.EventDispatcher; import flash.events.Event; class CustomDispatcher extends EventDispatcher { public static var ACTION:String; function CustomDispatcher(string) { ACTION = string; } public function doAction():void { dispatchEvent(new Event(CustomDispatcher.ACTION)); } } }
こんな感じでよいものなのか。
コメントを残す