AS3 - Flash Vars如何获取密钥名称?

时间:2015-07-13 16:53:38

标签: flash flash-builder flash-cs5 actionscript-3

我正在查看一些adobe documentmentiation http://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.html,但这只是一个错误。当我通过this.root.loaderInfo.parameters为每个人做的时候,我只能打印出值。我想要flash变量的实际名称,而不是值。我怎么能这样做?

var paramObj:Object = this.root.loaderInfo.parameters
            for each (var param:String in paramObj)
            {
                trace("key?: " + param);


                //var valueStr:String = String(paramObj[param]);
                //trace("param" + param + " name: " + valueStr);
            }

上面的代码打印出值。

2 个答案:

答案 0 :(得分:1)

  

这是完全错误的。

我不确定你在说什么,这是你提供的链接中的代码:

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-XXXXXXXXX-X']);
    _gaq.push(['_setDomainName', 'none']);
  

当我通过this.root.loaderInfo.parameters为每个人做的时候,我只能打印出值。

这很可能是示例代码不使用// AS3 var tf:TextField = new TextField(); tf.autoSize = TextFieldAutoSize.LEFT; tf.border = true; addChild(tf); tf.appendText("params:" + "\n"); try { var keyStr:String; var valueStr:String; var paramObj:Object = LoaderInfo(this.root.loaderInfo).parameters; for (keyStr in paramObj) { valueStr = String(paramObj[keyStr]); tf.appendText("\t" + keyStr + ":\t" + valueStr + "\n"); } } catch (error:Error) { tf.appendText(error.toString()); } 循环而是使用for each in循环的原因之一。

如果您正在使用示例代码,请尽量密切关注它。如果您修改代码并且它不再起作用,请不要责怪原始代码。

答案 1 :(得分:0)

这类似于我用来追踪我的flashVars。

for (var param:String in paramObj)
{
    trace(param + " : " + paramObj[param]);
}