as3中的LoaderInfo参数

Ben*_*nny 1 actionscript-3

var myStr:String = root.loaderInfo.parameters.benny;
//this code will recieve single value from flashVars.
Run Code Online (Sandbox Code Playgroud)

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

小智 5

闪存通过获取URL内的变量或flashvars来捕获加载程序变量.你已经完全正确,它的键/值对.所以基本上如果你有这样的URL:

http://somewhere.com/movie.swf?test1=10&test2=20&benny=benny
Run Code Online (Sandbox Code Playgroud)

在内部闪存中,您可以访问这些内容,就像您已经在做的那样:

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;
Run Code Online (Sandbox Code Playgroud)

如果您要追踪上述值,它将显示:

trace(numberString); //10
trace(number); //20
trace(uName); //benny
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • 让自己更容易,并将参数存储到变量中.var flashvars:Object = root.loaderInfo.parameters; (2认同)
  • 我解释说.但是无所谓.:) (2认同)