【问题标题】:How do I add style to a text field?如何为文本字段添加样式?
【发布时间】:2014-04-11 21:28:11
【问题描述】:

当我按下按钮时,它会在 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;
}

}

【问题讨论】:

    标签: actionscript-3 flash actionscript


    【解决方案1】:

    试试tf.setTextFormat(format); 函数,如果你愿意,你甚至可以只设置文本字段的一部分。

    【讨论】:

    • 我刚刚将它添加到第一个函数中并且它的工作(耶!)谢谢。
    【解决方案2】:

    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;
    
    }
    

    【讨论】:

    • 您可以在需要时调用setTextFormat()。多格式文本字段很可能会覆盖text setter,其方法是使用多种颜色为文本字段的文本着色。但是对于恒定格式,最好使用defaultTextFormat 属性。它也是“设置并忘记”类型的属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-22
    • 2011-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    相关资源
    最近更新 更多