我有一个Flash CS4 AS3 swf(主机),使用gSkinner的swfBridge加载Flash 8 AS2 swf(客户端)。
这很好用,主机可以在客户端调用函数没问题。但是,我希望能够在客户端中调用一个函数,并让该函数将一个数组返回给主机。
这是我认为可行的代码 -
主机(AS3)代码 -
var hostArray:Array = new Array();
hostArray = mySwfBridge.send("getArray");
客户端(AS2)代码
var theArray = new Array("item1, item2, item3);
function getArray() :Array {
return theArray;
}
任何想法?
答案 0 :(得分:2)
您面临的问题是LocalConnection
(由SwfBridge
使用)是否异步调用。换句话说,执行调用程序脚本不会停止执行以等待调用函数返回结果。
如果您需要从LocalConnection
的另一侧检索值,则需要将其设置为双向工作。即您的客户端脚本必须通过LocalConnection
(在这种情况下为SwfBridge
)将其结果发送回主机对象上的回调方法,而不是通过 return
执行此操作