Actionscript 3 在主权财富基金之间传递值
我可以从父SWF访问子SWF的var,但我想将父var传递给子SWF,以通知和操作子SWF中的不同内容(取决于var,基本if条件)。是否可以加载SWF并传递var或值Actionscript 3 在主权财富基金之间传递值,actionscript-3,flash,Actionscript 3,Flash,我可以从父SWF访问子SWF的var,但我想将父var传递给子SWF,以通知和操作子SWF中的不同内容(取决于var,基本if条件)。是否可以加载SWF并传递var或值 这是父->子变量读取。我想要双向传输。您可以使用查询参数加载swf: loader.load(新的URLRequest(“main.swf?var=17&var2=lol”) 然后,在您的孩子swf中,使用: stage.root.loaderInfo.parameters.var stage.root.loaderInfo
这是父->子变量读取。我想要双向传输。您可以使用查询参数加载swf: loader.load(新的URLRequest(“main.swf?var=17&var2=lol”) 然后,在您的孩子swf中,使用:
stage.root.loaderInfo.parameters.var
stage.root.loaderInfo.parameters.var2
它将完成这项工作。在子SWF中,而不是
loader.content['level']代码>使用loaderInfo.loader.loaderInfo.content['myVar']代码>。myVar是在父SWF中定义的变量。可以调用或访问SWF中任何公共定义的方法或变量。如果在swf中定义了名为doSomething的方法,则可以执行以下操作:
MovieClip(loader.content).doSomething(myParentVariable);
//or
var level:int = MovieClip(loader.content).level;
要在“父”swf与其加载的“子”swf之间传递参数,可以使用对象这样做:
loader.swf(父级):
var context:LoaderContext = new LoaderContext();
context.parameters = {'passed_param': 'value'};
var loader:Loader = new Loader();
loader.load(new URLRequest('loaded.swf'), context);
addChild(loader);
trace(this.loaderInfo.parameters.passed_param); // gives : value
load.swf(子项):
var context:LoaderContext = new LoaderContext();
context.parameters = {'passed_param': 'value'};
var loader:Loader = new Loader();
loader.load(new URLRequest('loaded.swf'), context);
addChild(loader);
trace(this.loaderInfo.parameters.passed_param); // gives : value
希望能有所帮助。它抛出未处理的IOError(#2044)和URL not found(#2035)。这条路是正确的,但这里有点混乱-这是否意味着该方法也适用于子级到父级-或者使用“loaderInfo.loader.loaderInfo.content”更好?使用loaderInfo.loader.loaderInfo.content
将变量从子级传递到父级。使用loader.content['level']
将变量从父级传递到子级。您不能使用loader.content['level']
将变量从子级传递到父级,因为子级中没有加载器。很高兴听到基本逻辑是双向的。谢谢你的回答。我不在文件中,所以我无法测试它,但我会尽快得到你的帮助。谢谢