0

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

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

AS3 影片使用 com.gskinner.utils.SWFBridgeAS3 来实现 AS2 兼容性。

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

stage.loaderinfo.parameters 

AS3 将提供。

似乎没有任何效果,即使访问父 AS3 电影中定义的任何变量。

所以,在 AS3 电影中:

var myvar = 5;

在 AS2 电影中:

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

我该如何解决这个问题?

谢谢!

4

2 回答 2

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

于 2011-03-03T02:37:50.890 回答
0

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

于 2011-03-02T18:26:20.847 回答