Home > AS3 > [AS3] TextFieldのTextFormatを部分的に変えたい

[AS3] TextFieldのTextFormatを部分的に変えたい

テキストフィールドのフォーマットを部分的に変更したいんです。
一部だけ強調して下線をつけたり、太字にしたりとか。

そんなときはいつも使ってるsetTextFormatを使えば大丈夫ですicon:mezamashi[1]
setTextFormatって実はどこからどこまでって指定できるんですね。知らなかったicon:coffe[1]

public function setTextFormat(format:TextFormat, beginIndex:int = -1, endIndex:int = -1):void

format:TextFormat -- 文字と段落のフォーマット情報を含む TextFormat オブジェクトです。  
 
beginIndex:int (default = -1) -- オプション : 該当するテキスト範囲の直後の文字を指定して、ゼロから始まるインデックス位置を指定する整数。  
 
endIndex:int (default = -1) -- オプション : 該当するテキスト範囲の直後の文字を指定する整数。意図したとおり、beginIndex と endIndex の値を指定すると、beginIndex から endIndex-1 までのテキストが更新されます。


なので、たとえばこんな感じで使うと

var tf:TextField = new TextField();
tf.text = "this is it! phooooow!"
tf.autoSize = TextFieldAutoSize.LEFT;
addChild( tf );

// 部分的に太字にしたい
var fmt:TextFormat = new TextFormat();
fmt.bold = true;
fmt.underline = true;
tf.setTextFormat( fmt, 12, 21 );


こんな感じになります
this is it! phooooow!

第2引数と第3引数を動的に変えれば、任意の範囲のフォーマットを変えることができちゃいますicon:car02[1]

トラックバック : http://cocoasaurus.com/mt/mt-tb.cgi/169

コメント:0

コメント

Home > AS3 > [AS3] TextFieldのTextFormatを部分的に変えたい

↑page top