通过 URLRequest 传递变量
Pass variable via URLRequest
我在另一个 swf 中显示外部 swf。我阅读了 XML 保留外部 swf 路径的文件。在某些时候,我需要外部函数的结果。那么是否可以传递结果并通过 URLRequest 获取它?
代码如下:
var contentLoader:Loader;
var context:LoaderContext = new LoaderContext();
contentLoader = new Loader();
contentLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoadingCompleteActions);
contentLoader.load(new URLRequest(url), context);
url 正如我之前所说,来自 XML 解析器。我想加载 swf 并尽可能获取所选变量。
A(主 swf)- 通过 URLRequest 导入 swf
B(导入的 swf)- 必须向 A 发送一个值
您肯定可以 "communicate" 在这两个文件之间。首先,loader.contentLoaderInfo.content
是您实际加载的 swf 文件。因此,您可以在其上调用方法 - 在分配的 class 或时间轴上(不好)。这样您就可以访问属性甚至函数:
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoadingCompleteActions);
loader.load(new URLRequest(url), context);
function contentLoadingCompleteActions(event:Event) {
// event.target is your loader
var swf = event.target.content as MovieClip; // or even cast to document class!
swf.getVariable(); // call method / get result
}
加载的 swf 也是如此 - 它可以访问它的父级 AFTER 它被添加到舞台(因此它可以有父级):
var parentObject:MovieClip = parent.parent as MovieClip; // or cast to document class
parentObject.callParentMethod();
您可以转换为不同的 classes(对象,Class,无论您想要什么)以便它们之间进行通信。
我在另一个 swf 中显示外部 swf。我阅读了 XML 保留外部 swf 路径的文件。在某些时候,我需要外部函数的结果。那么是否可以传递结果并通过 URLRequest 获取它?
代码如下:
var contentLoader:Loader;
var context:LoaderContext = new LoaderContext();
contentLoader = new Loader();
contentLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoadingCompleteActions);
contentLoader.load(new URLRequest(url), context);
url 正如我之前所说,来自 XML 解析器。我想加载 swf 并尽可能获取所选变量。
A(主 swf)- 通过 URLRequest 导入 swf
B(导入的 swf)- 必须向 A 发送一个值
您肯定可以 "communicate" 在这两个文件之间。首先,loader.contentLoaderInfo.content
是您实际加载的 swf 文件。因此,您可以在其上调用方法 - 在分配的 class 或时间轴上(不好)。这样您就可以访问属性甚至函数:
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, contentLoadingCompleteActions);
loader.load(new URLRequest(url), context);
function contentLoadingCompleteActions(event:Event) {
// event.target is your loader
var swf = event.target.content as MovieClip; // or even cast to document class!
swf.getVariable(); // call method / get result
}
加载的 swf 也是如此 - 它可以访问它的父级 AFTER 它被添加到舞台(因此它可以有父级):
var parentObject:MovieClip = parent.parent as MovieClip; // or cast to document class
parentObject.callParentMethod();
您可以转换为不同的 classes(对象,Class,无论您想要什么)以便它们之间进行通信。