AS3 - setTextFormat(),defaultTextFormat不按设计工作?

时间:2013-06-11 18:59:10

标签: actionscript-3 textfield

使用更简单的代码段更新

我正在构建一个Flash swf来使用AS3检查一些XML文件。

我只能访问Flex编译器,而不是实际的Flash IDE或Flashdevelop,所以我的所有xml检查代码都是一个AS文件,编译成swf。为了显示信息,我创建并添加一个TextField并调用appendText()(我在此片段中使用+ =)。

下面的代码段似乎没有在现有文字上设置新格式。它似乎对文本没有任何影响。

我的印象是setTextFormat会更改现有文本,并且在调用setTextFormat之后添加的任何新文本都将使用defaultTextFormat对象。在我的代码中似乎不是这种情况。我的理解不正确吗?

public function AS3Tester()
{
    display_txt = new TextField();
    display_txt.multiline = true;
    display_txt.width = 1024;
    display_txt.height = 768;

    var tf:TextFormat = new TextFormat();
    tf.size = 12;
    tf.font = "Lucida Console";

    display_txt.defaultTextFormat = tf;
    display_txt.text = "Text Before setTextFormat\n"; //Should use default style tf
    addChild(display_txt);

    var tf2:TextFormat = new TextFormat();
    tf2.size = 18;
    tf2.color = 0xFF0000;

    display_txt.setTextFormat(tf2);

    display_txt.text += "Text after setTextFormat\n"; //previous line should use tf2, this new line should use default tf

}

0 个答案:

没有答案