Bagaimana cara menambahkan gaya ke bidang teks?

Saat saya menekan tombol, itu akan mencetak string acak di Bidang Teks, tapi saya ingin menambahkan gaya juga. Jadi saya menggunakan TextFormat tetapi sepertinya tidak berhasil. Saya tidak yakin apa yang salah, sepertinya format teksnya diabaikan.

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

}

person lehermj    schedule 11.04.2014    source sumber


Jawaban (2)


Coba fungsi tf.setTextFormat(format); yang dengannya Anda bahkan dapat mengatur hanya sebagian bidang teks jika Anda mau.

person Zhafur    schedule 11.04.2014
comment
saya baru saja menambahkannya ke fungsi pertama dan berfungsi (yay!) terima kasih. - person lehermj; 12.04.2014

setTextFormat() tidak akan mengatur teks yang disisipkan oleh pengguna atau secara terprogram. Agar pemformatan teks Anda muncul dengan benar, gunakan defaultTextFormat() setelah penyisipan teks:

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;

}
person Ribs    schedule 11.04.2014
comment
Anda dapat mengingat setTextFormat() jika Anda membutuhkannya. Kemungkinan besar bidang teks multiformat akan menimpa text penyetel dengan metode yang akan mewarnai teks bidang teks dengan banyak warna. Namun untuk format konstan sebaiknya gunakan properti defaultTextFormat. Itu juga mengatur dan melupakan jenis properti. - person Vesper; 12.04.2014