Подтвердить что ты не робот

Два цвета в одном текстовом поле с помощью ActionScript 3

Возможно ли иметь два текстовых цвета в одном текстовом поле с помощью ActionScript 3.0?

ex: как я могу сделать, как первая строка черная, а вторая строка - красная?

Вот мой код при использовании одного цвета:

    public function logs(txt)
    {
        if (txt == '')
        {
            textLog.text = "Let Open up our treasure boxes !!!";
        }
        else
        {
            textLog.text = '' + txt + '';
        }
        textLog.x = 38.60;
        textLog.y = 60.45;
        textLog.width = 354.50;
        textLog.height = 31.35;
        textLog.selectable = false;
        textLog.border = false;
        var format:TextFormat = new TextFormat();
        var myFont:Font = new Font1();
        format.color = 0x000000;
        format.font = myFont.fontName;
        format.size = 18;
        format.align = TextFormatAlign.CENTER;
        format.bold = false;
        textLog.embedFonts = true;
        textLog.setTextFormat(format);
        this.addChild(textLog);
    }
4b9b3361

Ответ 1

В setTextFormat вы можете указать индекс начала и конца индекса. Вы также можете отображать текст как html с помощью textLog.htmlText.

Сначала установите текст

var t:TextField  = new TextField();
t.text = "BLUEGREEN";
addChild(t);

Тогда метод 1

var format1:TextFormat = t.getTextFormat(0, 4);
format1.color = 0x0000ff;
t.setTextFormat(format1, 0, 4);


var format2:TextFormat = t.getTextFormat(5, t.length);
format2.color = 0x00ff00;
t.setTextFormat(format2, 5, t.length);

Или метод 2

t.htmlText = '<font color="#0000ff">BLUE</font><font color="#00ff00">GREEN</font>';

Ответ 2

Если вы хотите сделать это, вам нужно создать функцию для управления. charAt (ОПИСАНИЕ ИНДЕКСА СТРОКИ ЗДЕСЬ).

    var format2:TextFormat = textbox.defaultTextFormat;
    format2.color = 0x000000;
    textbox.defaultTextFormat = format2;

    if((textbox.text.charAt(3) == "d") && ( textbox.text.charAt(4) == "i")){            
        var format1:TextFormat = textbox.defaultTextFormat;
        format1.color = 0xFF0000;
        textbox.setTextFormat(format1, 3, 5);}
    else{
        textbox.setTextFormat(textbox.defaultTextFormat);}