更改TextField.text时,Actionscript TextFormat会重置

时间:2010-01-19 07:31:52

标签: flash actionscript-3 actionscript textfield

我有一个TextField格式为粗体和蓝色。但是,当我更改TextField.text时,textfield的格式会重置,我必须再次setTextFormat

这是我用来设置TextField的代码。 myText是我TextField的变量。 (这只是我的代码的一部分;它是我EventListener的函数的一部分。)

yourName = body_txt.text;  
myText.text = "This is the new text";

3 个答案:

答案 0 :(得分:13)

在AS3中,您需要使用defaultTextFormat对象的TextField属性。

答案 1 :(得分:4)

泰勒是对的。更具体地说:

myTextField.defaultTextFormat = myTextField.getTextFormat();
myTextField.text = "Sample text.";

希望这有帮助!

答案 2 :(得分:2)

您应该使用setNewTextFormat代替,这将影响未来的更改。

或者,可选地(如果您已经有一些文本),将新格式应用于两个属性:

var myTextField:TextField = new TextField();
myTextField.text = "Chunky bacon" ;

var newFormat:TextFormat = new TextFormat();
newFormat.color = 0xFF0000;
newFormat.size = 18;
newFormat.underline = true;
newFormat.italic = true;

myTextField.setTextFormat( newFormat ) ; // Applies to current value – "Chunky bacon"
myTextField.setNewTextFormat( newFormat ) ; // Applies to future changes - " Hello World"

myTextField.text += " Hello World" ;