ActionScript 3 - 通过变量在movieClip中设置textField的文本

时间:2014-07-20 07:49:03

标签: actionscript-3 movieclip

舞台上有一个movieClip,实例名称为movieClipA,其中包含textField,实例名称为myTextField

还有一个名为whichTextField的字符串变量,其值设置为myTextField

var whichTextField:String = "myTextField";
movieClipA.myTextField.text = "ABC"; // WORKS.

movieClipA.whichTextField.text = "ABC"; // DOESN'T WORK.

如何在代码中使用单词whichTextField才能使其正常工作?

2 个答案:

答案 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.