在由AS3添加到舞台的MovieClip中更改动态文本字段不起作用?

时间:2012-05-12 20:13:31

标签: actionscript-3 flash flash-cs5

当我更改动态文本字段的文本值时,文本字段将变为空白,而不显示新值。

我有一个标题为“game_board”的MovieClip,由AS3动态添加到舞台上。 (开始阶段是空白的。)

我有另一个标题为“stage_2”的MovieClip,由AS3动态地添加为“game_board”。

“stage_2”包含一个预制板,上面有不同的动态文本字段。它们都有实例名称。例如“text_1”。 this.game_board.stage_2.text_1.text的原始值为0。

当我这样做时:

this.game_board.stage_2.text_1.text = "test";

trace(this.game_board.stage_2.text_1.text); //succesfully shows new value, "test"

跟踪成功显示了新值,但是舞台上的文本字段显示为“0”,现在绝对没有显示,它只是消失了。我尝试运行addChild,以防由于某种原因被移动到底层,但这不起作用。即使舞台只包含该文本字段,它仍然只是空白。

我做错了什么?

1 个答案:

答案 0 :(得分:5)

试试这个:

this.game_board.stage_2.text_1.embedFonts = false;
this.game_board.stage_2.text_1.text = "test";
发生这种情况是因为flash cs5默认使用embedFonts,所以如果你没有在你的库中设置字体然后将它附加到你的文档,flash cs5将只嵌入你文本输入中的字体,如果您将text_1的值从0更改为te并删除embedFonts,则可以进行测试,只有tet没有s,要在所有文字中使用embedFonts,请参阅:Embedding Fonts in AS3 - Dynamic Text Field disappears