Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Two colors in one text field using Actionscript 3

Is it possible to have two text colors in one text field using Actionscript 3.0?

ex: how can i make like the first string black and the second string red?

Here is my code when using a single color:

    public function logs(txt)
    {
        if (txt == '')
        {
            textLog.text = "Let's 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);
    }
like image 944
Khairu Aqsara Avatar asked Jan 04 '12 03:01

Khairu Aqsara


1 Answers

In setTextFormat you can specify start index and end index. You can also render text as html using textLog.htmlText.

First set the text

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

Then method 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);

Or method 2

t.htmlText = '<font color="#0000ff">BLUE</font><font color="#00ff00">GREEN</font>';
like image 95
Diode Avatar answered Oct 23 '22 01:10

Diode