如何在文本字段中添加样式?

时间:2014-04-11 21:28:12

标签: actionscript-3 flash actionscript

当我按下按钮时,它会在TextField中打印一个随机字符串,但我也想添加样式。所以我使用了TextFormat,但它似乎并没有起作用。我不确定出了什么问题,它似乎忽略了文本格式。

import flash.text.TextField;
import flash.text.TextFormat;
var tf: TextField = new TextField();
var format: TextFormat = new TextFormat();
format.size = 18;
format.align = TextFormatAlign.CENTER;
format.bold = true;
format.color = 0x555555;
tf.setTextFormat(format);

convob.addEventListener(MouseEvent.CLICK, fl_MouseClickHandler);

function fl_MouseClickHandler(event: MouseEvent): void {

    starters();


addChild(tf);

}

function starters() {

var random = Math.floor((Math.random() * 5) + 1);

switch (random) {

    case 1:
        tf.text = "eiff";
        addChild(tf);
        break;
    case 2:
        tf.text = "fne";
        addChild(tf);
        break;
    case 3:
        tf.text = "fnfefe";
        addChild(tf);
        break;
    case 4:
        tf.text = "fnefewwe";
        addChild(tf);
        break;
    case 5:
        tf.text = "fneeeffvvv";
        addChild(tf);
    default:
        break;
}

}

2 个答案:

答案 0 :(得分:1)

尝试使用tf.setTextFormat(format);功能,您甚至可以根据需要设置部分文本字段。

答案 1 :(得分:0)

setTextFormat()不会设置用户插入的文本或以编程方式插入。要使文本格式正确显示,请在文本插入后使用defaultTextFormat():

function starters() {

    var random = Math.floor((Math.random() * 5) + 1);

    switch (random) {

        case 1:
            tf.text = "eiff";
            addChild(tf);
            break;
        case 2:
            tf.text = "fne";
            addChild(tf);
            break;
        case 3:
            tf.text = "fnfefe";
            addChild(tf);
            break;
        case 4:
            tf.text = "fnefewwe";
            addChild(tf);
            break;
        case 5:
            tf.text = "fneeeffvvv";
            addChild(tf);
        default:
            break;
    }

    tf.defaultTextFormat = format;

}