【发布时间】:2011-10-15 22:50:39
【问题描述】:
我有 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();
}
}
}
“Dispatch”类在完成时验证 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 是否有机会收到有关完成由其他类触发的验证的信息?
【问题讨论】:
-
是的,我认为您将实例和类混淆了。重新评估您的流程可能更容易。
标签: actionscript-3 actionscript event-listener event-dispatching