私は3つのクラスを持っています:
URLの変更を認識するクラス(AsualによるSWFAddressを使用):
package swfaddress {
import flash.display.MovieClip;
import com.asual.swfaddress.*;
public class SwfAddress extends MovieClip {
private var dispatcher:Dispatch = new Dispatch;
public function SwfAddress():void {
SWFAddress.addEventListener(SWFAddressEvent.CHANGE, onChange);
}
private function onChange(e:SWFAddressEvent):void {
dispatcher.changed();
}
}
}
終了時にURLとディスパッチイベントを検証するクラス「ディスパッチ」
package swfaddress {
import flash.events.Event;
import flash.events.EventDispatcher;
public class Dispatch extends EventDispatcher {
public static const CHANGED:String = "changed";
public function changed ():void {
// some operations validating the URL
dispatchEvent(new Event(Dispatch.CHANGED));
}
}
}
検証プロセスが終了したときに情報を受け取る必要がある他のパッケージの他のクラス。
package menu {
import swfaddress.*
public class MenuPanel extends MovieClip {
var swfRead:Dispatch = new Dispatch;
public function MenuPanel():void {
swfRead.addEventListener(Dispatch.CHANGED, onChange);
}
private function onChange(e:Event):void {
trace("Hello World");
}
}
また、「Hello World」が出力ウィンドウに表示されることはありませんでした。そのため、MenuPanelが、他のクラスによってトリガーされた検証の完了に関する情報を受け取る可能性があるかどうかわかりません。