AS3电影中的AS2电影无法访问flashvars ...或任何父电影vars

时间:2011-03-02 18:21:40

标签: flash actionscript-3 actionscript actionscript-2 flashvars

不是我的代码,试图在第11个小时修复它。

尝试从AS3电影中加载的旧版AS2电影中访问flashvars

AS3电影使用com.gskinner.utils.SWFBridgeAS3兼容AS2。

在AS2电影中无法访问html文件中定义的flashvars。 <不仅仅是“变量”(旧的AS2 flashvars方法)也不是

stage.loaderinfo.parameters 
AS3将提供的

似乎没有任何作用,甚至可以访问父AS3电影中定义的任何变量。

所以,在AS3电影中:

var myvar = 5;

在AS2电影中:

trace(myvar); => undefined
trace(parent.myvar); => undefined

我该如何解决这个问题?

谢谢!

2 个答案:

答案 0 :(得分:2)

使用SWFBridge网站上提供的信息,您应该执行以下操作:

// in the AS2 SWF:
var myBridge:SWFBridgeAS2 = new SWFBridgeAS2("123456", clientObj);


// in the AS3 SWF:
var myBridge:SWFBridgeAS3 = new SWFBridgeAS3("123456", clientObj);

ID 123456可以是您想要使用的任何唯一ID。

然后,在AS3版本中:

var myvar = 5;
myBridge.send("updateVar", myvar);

在AS2版本中,请使用以下方法:

function updateVar(var) {
    trace(var); // will output 5
}

参考:http://gskinner.com/blog/archives/2007/07/swfbridge_easie.html

答案 1 :(得分:0)

如果您通过SWFBridge与as2电影有工作连接,只需将这些flashvars传递给它。