舞台上有一个movieClip,实例名称为movieClipA
,其中包含textField
,实例名称为myTextField
。
还有一个名为whichTextField
的字符串变量,其值设置为myTextField
。
var whichTextField:String = "myTextField";
movieClipA.myTextField.text = "ABC"; // WORKS.
movieClipA.whichTextField.text = "ABC"; // DOESN'T WORK.
如何在代码中使用单词whichTextField
才能使其正常工作?
答案 0 :(得分:0)
通过一点点搜索我发现了这个解决方案。如果您能想到其他任何事情,请与您分享:
var whichTextField:String = "myTextField";
movieClipA.myTextField.text = "ABC"; // WORKS.
// movieClipA.whichTextField.text = "ABC"; // DOESN'T WORK.
this["movieClipA"].getChildByName(whichTextField).text = "ABC"; // WORKS!
如果movieClipA
位于另一个像movieClipB
这样的movieClip中,我也找到了另一个解决方案。
然后这种语法可以解决问题:
movieClipB.movieClipA.getChildByName(whichTextField).text = "ABC";
这种语法也有效:
movieClipB["movieClipA"].getChildByName(whichTextField).text = "ABC";
通常,如果实例处于舞台上,则可以使用点表示法或括号。但如果通过actionscript添加实例,则应使用getChildByName
。
答案 1 :(得分:0)
var whichTextField:String = "myTextField";
movieClipA.myTextField.text = "ABC"; // WORKS.
movieClipA[whichTextField].text = "ABC"; // WORKS.