我正在编写一个AS3应用程序,它将外部SWF文件加载到我的舞台中的影片剪辑中。我需要读取嵌入式SWF中的变量。我想我可以通过bgURL
做到这一点,但我无法弄清楚如何。
如何读取嵌入式SWF中的变量?
var bgLoader:Loader = new Loader();
var bgURL:URLRequest = new URLRequest("file.swf");
bgLoader.load(bgURL);
addChild(bgLoader);
答案 0 :(得分:1)
这就像trace(MovieClip(bgLoader.content).Player.played);
,但请确保您访问Event.COMPLETE处理程序中的内容:
bgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,bgLoaded);
function bgLoaded(event:Event):void{ trace(MovieClip(bgLoader.content).Player.played) }
bgLoader.content返回一个DisplayObject,但您需要将内容作为MovieClip访问。为此,请使用casting。
这假设你的外部swf也是AS3(好点Teo.sk!)
这一位:_root.Player.played
看起来像AS2。很遗憾你无法访问
变量直接形成一个加载的AS2电影。
不过,您可以使用Local Connection类来回传送变量
AS2和AS3。幸运的是,格兰特斯金纳写了一个名为SWFBridge的小工具。
使这更容易