我最近接受了一个项目,它正在将SWF加载到子SWF中,这不仅非常混乱,而且调试速度慢且难以理解。
因此,我正在尝试找到在父子SWF(气泡)之间来回调用的正确程序。我认为这是解决这个问题的正确方法:加载/卸载和移动播放头。
我听说dispatchEvent()函数是从child到parent使用的?但我不确定这是如何解释的。我是否需要在父级中使用addEventListener()来侦听dispatchEvent()?
你能告诉我如何告诉家长SWF将播放头移动到父时间线上的另一个位置吗?
我会用吗?:
child_btn.AddEventListener(MouseEvent.MOUSE_DOWN, movetolabel)
function movetolabel() {
dispatchEvent(parent.gotoAndStop("label"));
}
答案 0 :(得分:0)
在加载的SWF的主类中:
// The 3rd parameters enables capture of bubbling events
childBtn.addEventListener(MouseEvent.MOUSE_DOWN, childBtn_mouseDownHandler);
function childBtn_mouseDownHandler(event:MouseEvent) {
dispatchEvent(new Event("someSignal"));
}
在父SWF的主要类中:
childLoader.content.addEventListener("someSignal", childLoader_someSignalHandler);
function childLoader_someSignalHandler(event:Event):void {
gotoAndStop("label");
}