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));
}
}
}
こんな感じでよいものなのか。