gpt4 book ai didi

android - AS3 - AIR 主机和 SWF 发送器之间的 LocalConnection

转载 作者:行者123 更新时间:2023-11-29 23:34:13 24 4
gpt4 key购买 nike

我无法设法在为 AIR 设置的主文件和为 FlashPlayer(常规 SWF)设置的从属文件之间使用本地连接。这是两个测试文件的代码...

主/接收器文件:

// test-AIR.fla
import flash.display.Loader;
var loadK1:Loader=new Loader();
loadK1.load(new URLRequest("K1/test-SWF.swf"));
addChild(loadK1);
var localConnection:LocalConnection = new LocalConnection();
localConnection.allowDomain("*");
localConnection.client = this;
localConnection.connect("_connectionName");
function onMethod(timeString:String):void {
trace("onMethod called at: " + timeString);
}

发件人...

// K1/test-SWF.fla
var localConnection:LocalConnection = new LocalConnection();
localConnection.send("_connectionName", "onMethod");
trace("END of test-SWF.swf");

然后,这是显示未调用 onMethod 的输出:

[SWF] test-AIR.swf - 1170 bytes after decompression

K1/test-SWF.swf - 625 bytes after decompression

END of test-SWF.swf[SWF]

我觉得我尝试了一切。有人可以指出哪里出了问题或我遗漏了什么吗?谢谢,

最佳答案

由于两个 SWF 位于同一个 SecurityDomain 中,因此它们可以不受限制地访问彼此的显示列表。因此,我通过显示列表层次结构调用方法解决了这个问题:

MovieClip(this.parent.parent).onMethod();

这样,无论发布目标是什么(浏览器、桌面、移动设备...),都可以从子应用程序调用该方法。

@Organis 感谢您的帮助!

关于android - AS3 - AIR 主机和 SWF 发送器之间的 LocalConnection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52382121/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com