0

我是刷 AS3 的 uber n00b。我并不打算听起来像个彻头彻尾的白痴,但老实说,我已经很难弄清楚如何将外部 .swf加载到我的主文件中!现在我的朋友问我是否可以在外部 .swf 中添加一个按钮,该按钮将自行卸载并在其位置加载一个新按钮...
我已经在论坛中四处寻找答案一段时间了,我相信现在是我崩溃、认输并寻求帮助的时候了。
有人可以告诉我这并不难..?当然有可能......
在此先感谢您的任何建议!我期待着可以在这里发表回应的时候!

4

1 回答 1

0

我有解决办法!而且才24小时。我掌管!
我遇到了dispatchEvent并解决了它!

...如果有人在未来遇到这个页面来寻找这个看似不可能的任务的答案,那么他们现在就会有答案!如果我在引用我所做的事情时没有正确的术语,请原谅我。开始了...

在我的外部 .swf中,我需要为我的按钮(在我的外部 swf 中)设置一个监听器事件。然后在我的按钮的函数中包含一个 dispatchEvent 。我在参数中加入了“真”,以将事件“冒泡”回主时间线。他是我的按钮之一。

mc_main_menu.btn_entertainment.addEventListener(MouseEvent.CLICK, button4);
function button4(event:MouseEvent) {  
dispatchEvent(new Event("btn4", true));  
}

好的,但这只是实现它的代码的一半。所以现在,在我加载外部 swf 的主 swf中,我需要做几件事:
1)。从内存中卸载当前的 swf,使其停止播放声音
2)。在我的外部 swf 中为 dispatchEvent 设置一个监听器(它会冒泡)
3)。加载新的外部 swf

loader.addEventListener("btn4", page4Swf)
function page4Swf(event:Event):void{<p>
Loader(event.currentTarget).unloadAndStop();  //completely removes the swf from memory  
var SWFRequest:URLRequest = new URLRequest("page4.swf");  
loader.x = Xpos;  
loader.y = Ypos;  //these are to offset the loaded swf, if you wish  
addChild(loader);  
}

它就在那里!老实说,我没想到我会这么快在这里发布回复!

于 2010-05-14T05:31:48.603 回答