我在这个问题上找到了类似的问题,但给出的答案在我的情况下不起作用 让我解释一下:
我正在研究一个视觉小说风格的文本框编写器。基本功能是:从动态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语句?