Есть некоторые вещи, которые TextField не может сделать. Одно можно сказать наверняка, вы не можете изменить цвет фона для каждого символа. Но на самом деле вы можете сделать намного больше форматирования, чем думают люди.
Это ОЧЕНЬ быстрый и грязный прототип, показывающий, как он в основном работает.
package src
{
import flash.display.Sprite;
import flash.events.Event;
import flash.text.TextField;
import flash.text.TextFormat;
public class Main extends Sprite
{
private var tf:TextField;
private var tform:TextFormat;
private var iForm:TextFormat;
public function Main()
{
addEventListener(Event.ADDED_TO_STAGE, initMain);
}
private function initMain(e:Event):void
{
removeEventListener(Event.ADDED_TO_STAGE, initMain);
tform = new TextFormat("Arial", 12, 0);
iForm = new TextFormat("Arial", 12, 0xff0000, true, true);
tf = new TextField();
tf.defaultTextFormat = tform;
tf.text = "A sentence is just a sentence.";
tf.x = 100;
tf.y = 100;
tf.width = 300;
addChild(tf);
tf.setTextFormat(iForm, 2, 10);
// We can even change the TextFormat we used just one line above and
// reuse it for a completely different format. Finding out the starting
// and ending indexes isn't hard either. There are a few options. RegEx being my go to guy.
iForm.color = 0x0000ff;
iForm.size = 20;
iForm.italic = false;
tf.setTextFormat(iForm, 20, 29);
tf.appendText(" And yet some added text doesn't mess it up!");
}
}
}
надеюсь, это поможет!
Если вам нужно больше, чем то, что может дать вам TextField, вам придется использовать TLF. (что качается тоже.)