0

我最近接手了一个项目,该项目将 SWF 加载到子 SWF 中,这不仅很混乱,而且调试起来也很慢且难以理解。

因此,我试图找到正确的程序在父子 SWF(气泡)之间来回调用。我假设这是解决此问题的正确方法:加载/卸载和移动播放头。

我听说 dispatchEvent() 函数是从孩子到父母使用的?但我不确定这是如何解释的。我是否需要在父级中使用 addEventListener() 来监听 dispatchEvent()?

你能告诉我如何告诉父 SWF 将播放头移动到父时间轴上的另一个位置吗?

我会用吗?:

child_btn.AddEventListener(MouseEvent.MOUSE_DOWN, movetolabel)

function movetolabel() {
dispatchEvent(parent.gotoAndStop("label"));
}
4

1 回答 1

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");
}
于 2012-07-30T15:15:10.333 回答