AS3 - Flash Vars Как получить ключевое имя?
Я просматривал некоторые документы Adobe, http://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.html, но это просто неправильно. Когда я делаю для каждого над this.root.loaderInfo.parameters, я могу только распечатать значения. Я хочу реальные имена флэш-переменных, а не значения. Как я могу это сделать?
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 ответа
это просто неправильно.
Я не уверен, о чем вы говорите, вот код из ссылки, которую вы предоставили:
// 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());
}
Когда я делаю для каждого над this.root.loaderInfo.parameters, я могу только распечатать значения.
Вполне вероятно, что это одна из причин, почему код примера не использует for each in
петля но for in
цикл вместо
Если вы работаете с примером кода, старайтесь придерживаться его как можно ближе. Если вы изменили код, и он больше не работает, не вините оригинальный код.
Это похоже на то, что я использую, чтобы отследить мои flashVars.
for (var param:String in paramObj)
{
trace(param + " : " + paramObj[param]);
}