Ad

StarlingのTextField編集を使うとAS3と同様にしてテキストを表示できる。

(以下の内容はver1.xのみに対応しています。ver.2以降からTextField編集は大幅に変更されました)

var tf:TextField = new TextField(200, 30, "test",FONT_NAME,26,0xff0000);

右寄せ、左寄せなどは、

tf.hAlign = HAlign.RIGHT;
tf.vAlign = VAlign.BOTTOM;

とする。これは文字を寄せているだけなので、テキストフィールド全体の中心点についてはpivotXやpivotY、alignPivotなどを使う必要がある。

また、ビットマップフォントが登録されている場合は、そのままビットマップフォントの名前を指定するだけで、それが表示される。

注意事項として、

  • サイズが小さくて文字がはみ出る場合は全く何も表示されないことがある。
  • ビットマップフォント以外ではドローコールが結構増える
  • より細かな設定はTextField編集を継承した自分のクラスを使って行う。

一つ目については、つねに大きめのサイズを指定することで回避できる。

二つ目は、パフォーマンスが必要とされるところではなるべくビットマップフォントを指定し、文字数が少ない場合はbatchableフラグをtrueにすると結構減る

tf.batchable = true;

3つめについては、たとえば複数行表示で行間を8にしたければ、TextField編集を継承して、formatTextメソッドをオーバーライドする。

class MultiLineTextField extends TextField {
	public function MultiLineTextField (width:int, height:int, text:String, fontName:String = "Verdana", fontSize:Number = 12, color:uint = 0, bold:Boolean = false) {
		super(width, height, text, fontName, fontSize, color, bold);
		
	}
	override protected function formatText(textField:flash.text.TextField, textFormat:TextFormat):void 
	{
		super.formatText(textField, textFormat);
		textField.multiline = true;
		textFormat.leading = 8;
		textField.setTextFormat(textFormat);
	}
}

これ以外のAS3にある細かなテキストの設定もformatText関数で行える


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 1520, today: 2, yesterday: 0
初版日時: 2015-06-03 (水) 07:29:22
最終更新: 2018-04-14 (土) 01:59:27 (JST) (187d) by njf
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF