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

こんな感じでよいものなのか。

keyboard_arrow_up