テキストフィールドについて(Flash 6 以降)
・ | テキストフィールドを動的に作成する |
・ | テキストフィールドに文字を表示する |
・ | テキストフィールドのプロパティを設定する |
・ | テキストフィールドの書式を設定する |
・ | スタイルシートを適用する(Flash 7 以降) |
・ | 高品質アンチエイリアスを使用する(Flash 8 以降) |
テキストフィールドを動的に作成する
■TextField クラスについて
TextField クラスは、Flash に配置して表示できるオブジェクトの1つです。
文字を表示したり、文字を入力する事ができます。
■テキストフィールドを作成して配置する
テキストフィールドオブジェクトを作成して配置するには、 createTextField() メソッドを使用します。
配置したい、親ムービークリップから呼び出します。
MovieClip.createTextField ( "インスタンス名" , 深度 , x座標 , y座標 , 幅 , 高さ ) :TextField
第01引数 | String | 新しく作成されるテキストフィールドの名前 |
第02引数 | Number | 新しく作成されるテキストフィールドの深度 |
第03引数 | Number | 配置する x 座標 |
第04引数 | Number | 配置する y 座標 |
第05引数 | Number | 配置する幅 |
第06引数 | Number | 配置する高さ |
戻り値 | TextField | [Flash 7 以前]なし、[Flash 8 以降]新しく作成されたテキストフィールドの参照 |
第01引数には、ユニーク(唯一)となる名称を指定します。
テキストフィールドを作成し、_root に配置する
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,50,100,200,20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 文字列を表示
tf.text = "表示テスト";
テキストフィールドを作成し、_root に配置する (Flash 8 以降)
// テキストフィールドオブジェクトを作成し、_root に配置する
var tf = _root.createTextField("text_field",0,50,100,200,20);
// 文字列を表示
tf.text = "表示テスト";
■ TextField クラスの基本的なプロパティについて
TextField オブジェクトを、ムービークリップのように制御できるプロパティの一覧です。(一部省略)
プロパティ名 | 型 | 説明 |
_x | Number | x 座標(水平方向)の位置 |
_y | Number | y 座標(垂直方向)の位置 |
_rotation | Number | 0 から 360 までの角度 |
_xscale | Number | x 軸方向(水平方向)の拡大率 (100 で等倍) |
_yscale | Number | y 軸方向(垂直方向)の拡大率 (100 で等倍) |
_width | Number | 水平方向の大きさ(ピクセル単位) |
_height | Number | 垂直方向の大きさ(ピクセル単位) |
_alpha | Number | 0 から 100 までの透明度 (100 で通常表示) |
_visible | Boolean | 可視表示の設定 |
_name | String | インスタンス名の設定 |
filters | Array | フィルタを配列に格納して設定 |
menu | ContextMenu | コンテキストメニューの設定 |
テキストフィールドに文字を表示する
■テキストフィールドに文字を表示する
テキストフィールドに文字を表示するには、text プロパティを使用します。
表示したい文字列をセットします。
テキストフィールドに文字を表示する
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 枠線を表示
tf.border = true;
// 文字列を表示
tf.text = "表示テスト";
■テキストフィールドと変数を関連付けて文字を表示する
1つの変数を監視して、変数の中身をテキストフィールドに表示することができます。
変数の中身が更新されると、自動的にテキストフィールドの表示も更新されます。
テキストフィールドに、1つの変数を関連付けるには、variable プロパティを使用します。
変数名を文字列で指定します。
テキストフィールドに関連付けた変数を表示する
// _root に変数を用意する
_root.hensu = "表示テスト";
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 枠線を表示
tf.border = true;
// テキストフィールドに、"_root.hensu" 変数を関連付ける
tf.variable = "_root.hensu";
■テキストフィールドに HTML 形式の文字を表示する
テキストフィールドは、一部の HTML タグに対応しています。
HTML 表示を有効にするには、html プロパティを使用します。
true をセットします。
HTML 形式の文字列を表示するには、htmlText プロパティを使用します。
テキストフィールドに HTML 形式の文字を表示する
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 枠線を表示
tf.border = true;
// HTML 表示を有効
tf.html = true;
// HTML形式の文字列を表示
tf.htmlText = "<B>表示テスト</B>";
■対応タグ一覧
タグ名 | 表記 |
アンカータグ | <a> |
ボールドタグ | <b> |
ブレークタグ | <br> |
フォントタグ | <font> |
イメージタグ | <img> |
イタリックタグ | <i> |
リスト項目タグ | <li> |
段落タグ | <p> |
範囲タグ | <span> |
テキストフォーマットタグ | <textformat> |
下線タグ | <u> |
■対応エンティティ一覧
文字 | 表記 |
< (より小さい) | < |
> (より大きい) | > |
& (アンパサンド) | & |
" (二重引用符) | " |
' (アポストロフィ、一重引用符) | ' |
テキストフィールドのプロパティを設定する
サンプルをダウンロード
■テキストフィールドのプロパティを設定する
テキストフィールドクラスが持つ、読み取り専用のプロパティの一覧です(一部省略)
プロパティ名 | 型 | 説明 |
bottomScroll | Number | 現在の表示範囲の最終行 (1 からのインデックス) |
length | Number | テキストの文字数 |
maxhscroll | Number | hscroll の最大値 |
maxscroll | Number | scroll の最大値 |
textWidth | Number | テキストの幅 |
textHeight | Number | テキストの高さ |
テキストフィールドクラスが持つ、読み書き可能なプロパティの一覧です(一部省略)
プロパティ名 | 型 | 説明 |
type | String | テキストフィールドのタイプ |
textColor | Number | テキストの色を、RGBで指定 (0xFFFFFF) |
background | Boolean | 背景を塗り潰すか? |
backgroundColor | Number | 背景の色を、RGBで指定 (0xFFFFFF) |
border | Boolean | 境界線を表示するか? |
borderColor | Number | 境界線の色を、RGBで指定 (0xFFFFFF) |
selectable | Boolean | 選択可能か? |
password | Boolean | パスワード表示か? |
multiline | Boolean | 複数行か? |
wordWrap | Boolean | 折り返すか? |
condenseWhite | Boolean | HTML表示時にスペース、改行などを削除するか? |
html | Boolean | HTML表示を有効にするか? |
mouseWheelEnabled | Boolean | ホイール回転時にスクロールするか?(Flash 7 以降) |
maxChars | Number | 表示可能な最大文字数 |
hscroll | Number | 水平スクロール位置(0 から) |
scroll | Number | 垂直座標 (1 から) |
styleSheet | StyleSheet | スタイルシートを関連付ける |
embedFonts | Boolean | 埋め込みフォントを使用するか? |
autoSize | String | サイズ整形の種類 |
antiAliasType | String | アンチエイリアスの種類(Flash 8 以降) |
gridFitType | String | グリッドフィッティングの種類(Flash 8 以降) |
sharpness | Number | 文字エッジのシャープネス(-400 ~ 400)(Flash8 以降) |
thickness | Number | 文字エッジの太さ(-200 ~ 200)(Flash8 以降) |
restrict | String | 表示や入力可能な文字を制限する |
■設定例
テキストフィールドのプロパティを設定する
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",1,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 文字列を表示
tf.text = "表示テスト";
// ------------------------------------------------------------
// テキストフィールドのプロパティを設定
// ------------------------------------------------------------
tf.antiAliasType = "normal"; // アンチエイリアスの種類
tf.autoSize = "none"; // サイズ整形の種類
tf.background = true; // 背景の塗りがあるか?
tf.backgroundColor = 0xFFDDDD; // 背景の色
tf.border = true; // 境界線があるか?
tf.borderColor =0xAA0000; // 境界線の色
tf.condenseWhite = false; // HTML表示時にスペース改行などを削除するか?
tf.html = false; // HTML表示を有効にするか?
tf.password = false; // パスワード表示か?
tf.embedFonts = false; // 埋め込みフォントを使うか?
tf.gridFitType = "none"; // グリッドフィッティングの種類
tf.maxChars = 10; // 最大の文字数
tf.mouseWheelEnabled = true; // ホイール回転時にスクロールするか?
tf.multiline = true; // 複数行か?
tf.selectable = true; // 選択可能か?
tf.sharpness = 0; // 文字エッジのシャープネス
tf.textColor = 0x0000AA; // テキストの色
tf.thickness = 1; // 文字エッジの太さ
tf.type = "input"; // テキストフィールドのタイプ
tf.wordWrap = false; // 折り返すか?
■テキストフィールドのタイプ(type プロパティ)
テキストフィールドのタイプを設定するには、type プロパティを使用します。
以下の文字列を指定します。
文字 | 説明 |
"dynamic" | 入力が不可能なテキストフィールド(ダイナミックテキストに相当) |
"input" | 入力が可能なテキストフィールド(入力テキストに相当) |
■埋め込みフォントを使用するか?(embedFonts プロパティ)
埋め込みフォントを使用するには、embedFonts プロパティに true をセットします。
以下の設定が満たされている場合のみ動作します。
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■サイズ整形の種類(autoSize プロパティ)
サイズ整形の種類を設定するには、autoSize プロパティを使用します。
以下の文字列を指定します。
文字 | 説明 |
"none" | なし |
"left" | 左揃え |
"right" | 右揃え |
"center" | 中央揃え |
以下の設定が満たされている場合のみ動作します。
「wordWrap = false」
■アンチエイリアスの種類(antiAliasType プロパティ)(Flash 8 以降)
アンチエイリアスの種類を設定するには、antiAliasType プロパティを使用します。
以下の文字列を指定します。
文字 | 説明 |
"advanced" | 高品質アンチエイリアス(小さいサイズだと綺麗に表示される) |
"normal" | 通常アンチエイリアス |
高品質アンチエイリアスについては、こちらで解説しています。
高品質アンチエイリアスは、以下の設定が満たされている場合のみ動作します。
「embedFonts = true」
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■グリッドフィッティングの種類(gridFitType プロパティ)(Flash 8 以降)
グリッドフィッティングの種類を設定するには、gridFitType プロパティを使用します。
以下の文字列を指定します。
文字 | 説明 |
"none" | なし |
"pixel" | ピクセルグリッドに吸着 |
"subpixel" | LCD モニタのサブピクセルグリッドに吸着 |
以下の設定が満たされている場合のみ動作します。
「antiAliasType = "advanced"」
「embedFonts = true」
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■文字エッジのシャープネス(sharpness プロパティ)(Flash 8 以降)
文字エッジのシャープネスを使用するには、sharpness プロパティを使用します。
-400 から 400 までの数値を指定します。
以下の設定が満たされている場合のみ動作します。
「antiAliasType = "advanced"」
「embedFonts = true」
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■文字エッジの太さ(thickness プロパティ)(Flash 8 以降)
文字エッジの太さを使用するには、thickness プロパティを使用します。
-200 から 200 までの数値を指定します。
以下の設定が満たされている場合のみ動作します。
「antiAliasType = "advanced"」
「embedFonts = true」
「書式設定で指定したフォントが、swf ファイルに埋め込まれている」
■表示や入力可能な文字を制限(restrict プロパティ)
表示や入力可能な文字を制限するには、restrict プロパティを使用します。
設定例です。
restrict プロパティの設定例
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",1,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 入力可能
tf.type = "input";
// 枠線を表示
tf.border = true;
// ------------------------------------------------------------
// 文字制限の設定例
// ------------------------------------------------------------
tf.restrict = "abc"; // a,b,c のみ
tf.restrict = "a-z"; // 小文字英字
tf.restrict = "a-z0-9"; // 小文字英字と数字
tf.restrict = "^A"; // A以外すべて
tf.restrict = "^A-Z"; // 大文字英字以外すべて
tf.restrict = "\\-"; // -
tf.restrict = "\\^"; // ^
tf.restrict = "\u3041-\u3093"; // UNICODEで0x3041から0x3093まで
テキストフィールドの書式を設定する
サンプルをダウンロード
■書式を設定する
new 演算子を使って、TextFormat クラスをインスタンス化します。
TextFormat オブジェクトを作成する
// テキストフォーマットオブジェクトを作成
var format = new TextFormat();
■TextFormat クラスのプロパティ
TextFormat クラスが持つ、読み書き可能なプロパティの一覧です(一部省略)
プロパティ名 | 型 | 説明 |
align | String | 整列の設定 |
font | String | フォント名を文字列で指定 例)"MS ゴシック" |
size | Number | 文字のポイントサイズ |
color | Number | 文字の色を、RGBで指定 (0xFFFFFF) |
bold | Boolean | 太字にするか? |
italic | Boolean | 斜体にするか? |
underline | Boolean | アンダーラインを表示するか? |
bullet | Boolean | 箇条書きにするか? |
kerning | Boolean | カーニングが有効か?(埋め込みフォント時のみ動作)(Flash 8 以降) |
blockIndent | Number | 全体のインデント(単位:ピクセル) |
indent | Number | 折り返し行以外のインデント |
leading | Number | 行間の垂直の行送り |
leftMargin | Number | 段落の左マージン(単位:ピクセル) |
rightMargin | Number | 段落の右マージン(単位:ピクセル) |
letterSpacing | Number | すべての文字間に均等に配分されるスペースの量(単位:ピクセル)(Flash 8 以降) |
tabStops | Array | タブ文字の幅を配列に格納して指定 例) [40,80] (単位:ピクセル) |
url | String | ハイパーリンク先を文字列で指定 |
target | String | ハイパーリンク先のターゲットウィンドウ 例)"_blank" |
■設定例
テキストフォーマットオブジェクトを作成し書式パラメータを設定する
// テキストフォーマットオブジェクトを作成
var format = new TextFormat();
// ------------------------------------------------------------
// テキストフォーマットのプロパティを設定
// ------------------------------------------------------------
format.align = "right"; // 整列
format.font = "MS ゴシック"; // フォント名
format.size = 14; // 文字のポイントサイズ
format.color = 0xFF0000; // 文字の色
format.bold = true; // 太字にするか?
format.italic = true; // 斜体にするか?
format.underline = true; // アンダーラインを表示するか?
format.bullet = true; // 箇条書きにするか?
format.kerning = true; // カーニングが有効か?(埋め込みフォント時のみ動作)
format.blockIndent = 0; // 全体のインデント(単位:ピクセル)
format.indent = 0; // 折り返し行以外のインデント
format.leading = -2; // 行間の垂直の行送り
format.leftMargin = 5; // 段落の左マージン(単位:ピクセル)
format.rightMargin = 5; // 段落の右マージン(単位:ピクセル)
format.letterSpacing = 4; // 文字間スペースの量(単位:ピクセル)
format.tabStops = [120]; // タブストップ(タブ文字の幅)
format.url = null; // ハイパーリンク先を文字列で指定
format.target = null; // ハイパーリンク先のターゲットウィンドウ
■整列の設定(align プロパティ)
サイズ整形の種類を設定するには、align プロパティを使用します。
以下の文字列を指定します。
文字 | 説明 |
"left" | 左に整列 |
"right" | 右に整列 |
"center" | 中央に配置 |
"justify" | 均等割り付け |
■デフォルトの書式を設定する
デフォルトの書式を設定するには、setNewTextFormat() メソッドを使用します。
テキストを更新すると、新しい書式が適用されます。
既存のテキストに書式を設定したい場合は、setTextFormat() メソッドを使用します。
TextField.setNewTextFormat ( TextFormat ) :Void
第01引数 | TextFormat | TextFormat オブジェクトを指定 |
戻り値 | Void | なし |
例)テキストフィールドにデフォルトの書式を割り当てる
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 枠線を表示
tf.border = true;
// ------------------------------------------------------------
// テキストフォーマット
// ------------------------------------------------------------
// テキストフォーマットオブジェクトを作成
var format = new TextFormat();
// テキストの色
format.color = 0xFF0000;
// テキストフィールドに、デフォルトの書式を割り当てる
tf.setNewTextFormat(format);
// ------------------------------------------------------------
// 文字列を表示
// ------------------------------------------------------------
tf.text = "表示テスト";
■既存のテキストに書式を設定する
既存のテキストに書式を設定するには、setTextFormat() メソッドを使用します。
setTextFormat() メソッドで設定した書式は、一時的なものです。
テキストを更新すると、書式がデフォルトに戻ります。
TextField.setTextFormat ( TextFormat ) :Void
第01引数 | TextFormat | TextFormat オブジェクトを指定 |
戻り値 | Void | なし |
表示されているテキストすべてに書式を設定する
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 枠線を表示
tf.border = true;
// 文字列を表示
tf.text = "表示テスト";
// ------------------------------------------------------------
// テキストフォーマット
// ------------------------------------------------------------
// テキストフォーマットオブジェクトを作成
var format = new TextFormat();
// テキストの色
format.color = 0xFF0000;
// ------------------------------------------------------------
// 表示されているテキストに書式を割り当てる
// ------------------------------------------------------------
tf.setTextFormat(format);
■範囲を指定して書式を設定する
範囲を指定して書式を設定したい場合も、setTextFormat() メソッドを使用します。
第02引数で指定する終了位置は、設定対象に含まれません。
TextField.setTextFormat ( 開始位置 , 終了位置 , TextFormat ) :Void
第01引数 | Number | 書式の適用を開始する位置(0 から開始、-1 を指定すると先頭から) |
第02引数 | Number | 書式の適用を終了する位置(0 から開始、-1 を指定すると最後まで) |
第03引数 | TextFormat | TextFormat オブジェクトを指定 |
戻り値 | Void | なし |
表示されているテキストの 1 番目から 3 番目までに書式を設定する
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 枠線を表示
tf.border = true;
// 文字列を表示
tf.text = "表示テスト";
// ------------------------------------------------------------
// テキストフォーマット
// ------------------------------------------------------------
// テキストフォーマットオブジェクトを作成
var format = new TextFormat();
// テキストの色
format.color = 0xFF0000;
// ------------------------------------------------------------
// 表示されているテキストに書式を割り当てる
// ------------------------------------------------------------
tf.setTextFormat(1,4,format);
スタイルシートを適用する(Flash 7 以降)
■スタイルシートオブジェクトを作成する
new 演算子を使って、TextField.StyleSheet クラスをインスタンス化します。
スタイルシートオブジェクトを作成する(AS1.0)
// スタイルシートオブジェクトを作成する
var style_sheet = new TextField.StyleSheet();
スタイルシートオブジェクトを作成する(AS2.0)
import TextField.StyleSheet;
// スタイルシートオブジェクトを作成する
var style_sheet:StyleSheet = new StyleSheet();
■外部にあるスタイルシートファイルを読み込む
スタイルシートファイルの読み込みについては、こちらで解説しています。
■スタイルシート文字列からスタイルを設定する
スタイルシート文字列からスタイルを設定するには、parseCSS() メソッドを使用します。
引数に、スタイルシート文字列を指定します。
スタイルシート文字列からスタイルを設定する(AS1.0)
// スタイルシートオブジェクトを作成する
var style_sheet = new TextField.StyleSheet();
// スタイルシート文字列を用意
var css_text = ".point{ font-size:14; font-style:italic; color:#0000AA; } .strong { font-family: MS 明朝; font-size: 24px; font-weight: bold; }";
// スタイルシート文字列からスタイルを設定する
style_sheet.parseCSS(css_text);
スタイルシート文字列からスタイルを設定する(AS2.0)
import TextField.StyleSheet;
// スタイルシートオブジェクトを作成する
var style_sheet:StyleSheet = new StyleSheet();
// スタイルシート文字列を用意
var css_text:String = ".point{ font-size:14; font-style:italic; color:#0000AA; } .strong { font-family: MS 明朝; font-size: 24px; font-weight: bold; }";
// スタイルシート文字列からスタイルを設定する
style_sheet.parseCSS(css_text);
■テキストフィールドにスタイルシートを適用する
テキストフィールドに、スタイルシートを適用するには、styleSheet プロパティを使用します。
styleSheet プロパティに、スタイルシートオブジェクトを渡します。
テキストフィールドにスタイルシートを反映する(AS1.0)
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 枠線を表示
tf.border = true;
// HTML 表示を有効
tf.html = true;
// ------------------------------------------------------------
// スタイルシート
// ------------------------------------------------------------
// スタイルシートオブジェクトを作成する
var style_sheet = new TextField.StyleSheet();
// スタイルシート文字列からスタイルを設定する
style_sheet.parseCSS(".point{ font-size:14; font-style:italic; color:#0000AA; } .strong { font-family: MS 明朝; font-size: 24px; font-weight: bold; }");
// テキストフィールドにスタイルシートを適用する
tf.styleSheet = style_sheet;
// ------------------------------------------------------------
// HTML 文字列を表示する
// ------------------------------------------------------------
tf.htmlText = "<span class=\"point\">表示テスト1</span><span class=\"strong\">表示テスト2</span>";
テキストフィールドにスタイルシートを反映する(AS2.0)
import TextField.StyleSheet;
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf:TextField = _root.text_field;
// 枠線を表示
tf.border = true;
// HTML 表示を有効
tf.html = true;
// ------------------------------------------------------------
// スタイルシート
// ------------------------------------------------------------
// スタイルシートオブジェクトを作成する
var style_sheet:StyleSheet = new StyleSheet();
// スタイルシート文字列からスタイルを設定する
style_sheet.parseCSS(".point{ font-size:14; font-style:italic; color:#0000AA; } .strong { font-family: MS 明朝; font-size: 24px; font-weight: bold; }");
// テキストフィールドにスタイルシートを適用する
tf.styleSheet = style_sheet;
// ------------------------------------------------------------
// HTML 文字列を表示する
// ------------------------------------------------------------
tf.htmlText = "<span class=\"point\">表示テスト1</span><span class=\"strong\">表示テスト2</span>";
高品質アンチエイリアスを使用する(Flash 8 以降)
サンプルをダウンロード
■高品質アンチエイリアスレンダリングとは?
「Adobe Flash のテキストツール設定」の『アンチエイリアス(読みやすさ優先)』に該当する機能です。
高品質アンチエイリアスレンダリングを使用すると、小さめのフォントサイズを表示したときにアンチエイリアスをかけてもくっきりと綺麗に表示されます。
表示するフォントが大きいほど、より多くのメモリが必要となります。
巨大なフォントを表示したい場合には不向きです。
■swf ファイルにフォントデータを埋め込む
高品質アンチエイリアスレンダリングを使用するには、swf ファイルにフォントデータを埋め込む必要があります。
1.新しいフォントを作成する
ライブラリウィンドウから、「新しいフォント」を作成します。
2.リンケージプロパティを設定する
フォントアイテムを選択して、コンテキストメニューから、「リンケージプロパティ」を選択します。
「識別子」に好きな名前を付けます。
さらに『ActionScript に書き出し』と『最初のフレームに書き出し』にチェックを付けます。
ここでは、"my_font" と名前を付けます。
■テキストフォーマットからフォントを指定する
埋め込んだフォントを使用するには、TextFormat クラスの font プロパティを使用します。
font プロパティに、先ほど名前を付けた識別子を指定します。
TextFormat クラスについては、こちらで解説しています。
高品質アンチエイリアスを使用するためには、さらに以下の設定が必要です。
「TextField クラスの embedFonts プロパティに true を設定」
「TextField クラスの antiAliasType プロパティに "advanced" を設定」
埋め込んだフォントを書式に使用する
// ------------------------------------------------------------
// テキストフィールド
// ------------------------------------------------------------
// テキストフィールドオブジェクトを作成し、_root に配置する
_root.createTextField("text_field",0,10,10,Stage.width-20,Stage.height-20);
// テキストフィールドの参照を取得
var tf = _root.text_field;
// 枠線を表示
tf.border = true;
// 埋め込みフォントを使う
tf.embedFonts = true;
// 高品質アンチエイリアスを使用する
tf.antiAliasType = "advanced";
// ------------------------------------------------------------
// テキストフォーマット
// ------------------------------------------------------------
// テキストフォーマットオブジェクトを作成
var format = new TextFormat();
// フォントの識別子を指定
format.font = "my_font";
// 文字のポイントサイズ
format.size = 14;
// テキストフィールドに、デフォルトの書式を割り当てる
tf.setNewTextFormat(format);
// ------------------------------------------------------------
// 表示を更新
// ------------------------------------------------------------
tf.text = "表示テスト";
■高品質アンチエイリアスの品質を設定する
高品質アンチエイリアスの品質を設定するには、TextRenderer.maxLevel プロパティを使用します。
Flash 全体に反映されます。
3 か 4 か 7 を設定することができます。
数値が高いほど、多くのメモリを消費し、高品質な表示となります。
デフォルトは、4 です。
高品質アンチエイリアスの品質を変更する(AS1.0)
flash.text.TextRenderer.maxLevel = 3;
高品質アンチエイリアスの品質を変更する(AS2.0)
import flash.text.TextRenderer;
TextRenderer.maxLevel = 3;