android - AS3 - AIR 主机和 SWF 发送器之间的 LocalConnection
问题描述
我无法设法在为 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字节
K1/test-SWF.swf - 解压后625字节
测试结束-SWF.swf[SWF]
我有一种我尝试了一切的感觉。有人能指出什么是错的或我错过了什么吗?谢谢,
解决方案
由于两个 SWF 位于同一个 SecurityDomain 中,因此它们可以不受限制地访问彼此的显示列表。因此,我通过显示列表层次结构调用该方法解决了这个问题:
MovieClip(this.parent.parent).onMethod();
这样,无论发布目标是什么(浏览器、桌面、移动设备......),都可以从子应用程序调用该方法。
@Organis 感谢您的帮助!
推荐阅读
- jquery - JQuery .click 函数在 Rails 中不起作用(有许多可能不相关的错误)
- ssh-tunnel - 从 tableau desktop 和 tableau server 连接 Aurora Severless
- java - Tutology ( DNF ) 和Contradiction ( CNF ) 方法
- python-3.x - 如何安装底图,出现错误
- r - 将前面和后面的单词连接到匹配 R 中条件的单词
- c++ - 在 MacOS 上使用 CLion 编译 32 位 C++ 程序
- reactjs - borderBottomRightRadius 在 React Native 中不起作用
- python - OpenCV Python中的视频文件与实时网络摄像头提要窗口大小
- java - 在android中使用日志调试的正确方法?断点
- c# - “SettingsViewModel”类型不包括任何可访问的构造函数。有没有办法摆脱这个错误?