Flash CS5 - 当我更改text属性时文本消失,除非我没有设置别名

Mar*_*sis 7 flash antialiasing actionscript-3 textfield flash-cs5

我有一个动态文本字段,与我在Flash IDE中设置的文本看起来很正常,但是当我以编程方式更改它的文本属性时它会消失.除非我将textfield设置为不使用抗锯齿(Bitmap text [no anti-alias]);

我不知道为什么会这样,也许是因为我正在使用的字体,(它是Helvetica Neue,Black Condensed)或者它是一些Flash CS5 Bug.

这里有人有这个问题吗?

Ps.:文本字段已经嵌入了所有字符,这就是文本最初出现的原因,并且只有在我更改文本时才会消失.

[编辑]

如果我将字体的样式从Black Condensed(一种粗体+斜体)改为Black(只是粗体),问题就不会再发生了.但我真的需要使用那种字体样式......

小智 11

不确定这是否与您的问题有关,但是有一个"错误",当您将新文本分配给动态TextField时,有时与原始文本一起使用的格式不会应用于新文本.

也许以下有帮助:

// ...
// get format of first char if TextField contains some text
var tf: TextFormat = aTextField.length > 0 ? aTextField.getTextFormat(0, 1) : aTextField.getTextFormat();
// assign new text
aTextField.text = aText;
// apply formatting to new text
aTextField.setTextFormat(tf);
Run Code Online (Sandbox Code Playgroud)