動的に生成した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.TextFormatAlign
は flashx.textLayout.formats.TextAlign
に変えても使える。