iLeichun

当前位置: 首页 > 个人日志

AS3 TextField中defaultTextFormat、setTextFormat()的区别

分类:个人日志   来源:原创   时间:2014-07-11 21:34:40

    AS3的TextField设置文本样式有两种方式,分别是defaultTextFormat、setTextFormat(),但用这两种方式设置的文本样式是有区别的,先看个例子吧:

    import flash.text.TextField;

    import flash.text.TextFormat;

 

    var tfm:TextFormat = new TextFormat();

    tfm.color = 0xFF0000;

 

    var tf1:TextField = new TextField();

    tf1.defaultTextFormat = tfm;

    tf1.text = "显示文本1";

    tf1.x = 0;

    tf1.y = 0;

    addChild(tf1);

  

    var tf2:TextField = new TextField();

    tf2.setTextFormat( tfm);

    tf2.text = "显示文本2";

    tf2.x = 0;

    tf2.y = 20;

    addChild(tf2);

 

最终看到的结果是这样的:

    显示文本1

    显示文本2

 

为什么第二个文本框的文字没有变成红色的?这就是因为defaultTextFormat和setTextFormat()是有区别的,区别之处就在于书写位置不同,defaultTextFormat要放在文本赋值之前,而setTextFormat()要放在文本赋值之后。将上述的第二段代码进行修改后:

    var tf2:TextField = new TextField();

    tf2.text = "显示文本2";

    tf2.setTextFormat( tfm);

    tf2.x = 0;

    tf2.y = 20;

    addChild(tf2);

 

这样的结果就是:

    显示文本1

    显示文本2

更多