as3中的LoaderInfo参数

时间:2011-05-19 10:28:31

标签: actionscript-3

var myStr:String = root.loaderInfo.parameters.benny;
//this code will recieve single value from flashVars.

我想知道如何使用LoaderInfo.parameters来处理更多数据?

3 个答案:

答案 0 :(得分:5)

加载器变量由flash捕获,或者通过URL中的get变量或flashvars捕获。你已经完全正确,它的键/值对。所以基本上如果你有这样的URL:

http://somewhere.com/movie.swf?test1=10&test2=20&benny=benny

在内置闪存中,您可以像访问过一样访问这些内容:

var numberString:String = root.loaderInfo.parameters.test1 as String;
var number:Number = root.loaderInfo.parameters.test2 as Number;
var uName:String = root.loaderInfo.parameters.benny as String;

如果您要追踪上述值,则会显示:

trace(numberString); //10
trace(number); //20
trace(uName); //benny

这是一个描述使用flashvars做同样事情的链接:

http://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.html

注意我使用语句“as String”或“as Number”,因为默认情况下,这些值是名为“parameters”的Object的属性。执行上面我正在做的事情显式地将这些值转换为所需的类型,这对于最佳VM性能和简单的良好编码实践都是谨慎的。

答案 1 :(得分:1)

你的意思是你想知道如何加载多个flashVars并在应用程序中读取它们吗?

在这种情况下,请查看here

答案 2 :(得分:0)

也许这样:

var o : Object = root.loaderInfo.parameters;

var flashvars : Array = ['benny','test','etc'];


for(var fv : String in flashvars){
  trace(o[fv]);
}