イナヅマTVログ

ActionScript 3, 生成したTextFieldへのフォーマット指定

| 0件のコメント

動的に生成したTextFieldへのフォーマット指定メモ。

【No Good】

import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
 
var defFormatRight:TextFormat = new TextFormat('_ゴシック', 14, 0xff6633, true, false, false, '', '', TextFormatAlign.RIGHT);
defFormatRight.leading = 6;
var tf:TextField = new TextField();
tf.width = 300;
tf.height = 30;
tf.border = true;
tf.text = '右寄せテスト';
tf.defaultTextFormat = defFormatRight;
addChild(tf);

【Good】

import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
 
var defFormatRight:TextFormat = new TextFormat('_ゴシック', 14, 0xff6633, true, false, false, '', '', TextFormatAlign.RIGHT);
defFormatRight.leading = 6;
var tf:TextField = new TextField();
tf.defaultTextFormat = defFormatRight;
tf.width = 300;
tf.height = 30;
tf.border = true;
tf.text = '右寄せテスト';
addChild(tf);

【Good】

import flash.text.TextField;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;
 
var defFormatRight:TextFormat = new TextFormat('_ゴシック', 14, 0xff6633, true, false, false, '', '', TextFormatAlign.RIGHT);
defFormatRight.leading = 6;
var tf:TextField = new TextField();
tf.width = 300;
tf.height = 30;
tf.border = true;
tf.text = '右寄せテスト';
tf.setTextFormat(defFormatRight);
addChild(tf);

【教訓】
TextField.defaultTextFormatを使う時は生成直後にフォーマット設定。

TextFieldへもろもろ設定した後はTextField.setTextFormatを使ってフォーマット設定。

【おまけ】
どうでもいいけど…
flash.text.TextFormatAlignflashx.textLayout.formats.TextAlign に変えても使える。

コメントを残す

必須欄は * がついています


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください