Actionscript 3 - 按字符串名称获取变量的值

时间:2018-05-10 14:10:38

标签: string actionscript-3 var

我在这个问题上找到了类似的问题,但给出的答案在我的情况下不起作用 让我解释一下:

我正在研究一个视觉小说风格的文本框编写器。基本功能是:从动态texfield' dialogText'中读取文本,将其存储为字符串,清除文本框并为字符添加存储的字符串字符。它完美地工作,但我希望功能在双括号之间替换文本,例如((playerName)),带有在这些括号中指定的变量的值。将括号中的内容保存为字符串也有效,但我还必须找到一种方法来打印括号之间指定的变量的值。

示例:

var playerName:String = "Anon";

function playFrame(frame:String):Function {
   return function(evt:Event = null):void{
      ...
      dialogueLine = dialogueText.text;
      for(var i:int = 0; i < dialogueLine.split("((").length - 1; i++){
         var dialogueVar:String = dialogueLine.substring(dialogueLine.indexOf("((") + 2, dialogueLine.indexOf("))"));
         //dialogueVar now contains whatever variable name is specified between (( ))   
         dialogueLine = dialogueLine.split("((" + dialogueVar + "))").join(***);
         //In join, *** has to be something that uses dialogueVar to look up a variable with name 'dialogueVar' (e.g. playerName), and then give it's value (which in this case would be 'Anon')
      }
      dialogueText.text = "";
      ...
   }
}

我建议使用这个[dialogueVar],但是在使用trace()来测试它时,我得到了“未定义的”#39;有没有人有一个选项,不是为每个可能的变量硬编码一个switch语句?

0 个答案:

没有答案