Flashゲーム講座 & アクションスクリプトサンプル集

 


テキストフィールドを動的に作成する

 


■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引数には、ユニーク(唯一)となる名称を指定します。
 
第02引数には、深度を指定します。
 
指定した深度に、すでにインスタンスが存在する場合は、古いインスタンスが消滅します
 
深度については、こちらで解説しています。
 
テキストフィールドを作成し、_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 オブジェクトを、ムービークリップのように制御できるプロパティの一覧です。(一部省略)
 
プロパティ名説明
_xNumberx 座標(水平方向)の位置
_yNumbery 座標(垂直方向)の位置
_rotationNumber0 から 360 までの角度
_xscaleNumberx 軸方向(水平方向)の拡大率 (100 で等倍)
_yscaleNumbery 軸方向(垂直方向)の拡大率 (100 で等倍)
_widthNumber水平方向の大きさ(ピクセル単位)
_heightNumber垂直方向の大きさ(ピクセル単位)
_alphaNumber0 から 100 までの透明度 (100 で通常表示)
_visibleBoolean可視表示の設定
_nameStringインスタンス名の設定
filtersArrayフィルタを配列に格納して設定
menuContextMenuコンテキストメニューの設定
 


 

テキストフィールドに文字を表示する

 

 


■テキストフィールドに文字を表示する

 
テキストフィールドに文字を表示するには、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>
 
■対応エンティティ一覧
 
文字表記
< (より小さい)&lt;
> (より大きい)&gt;
& (アンパサンド)&amp;
" (二重引用符)&quot;
' (アポストロフィ、一重引用符)&apos;
 


 

テキストフィールドのプロパティを設定する

 

サンプルをダウンロード
 


■テキストフィールドのプロパティを設定する

 
テキストフィールドクラスが持つ、読み取り専用のプロパティの一覧です(一部省略)
 
プロパティ名 説明
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引数 TextFormatTextFormat オブジェクトを指定
戻り値 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引数 TextFormatTextFormat オブジェクトを指定
戻り値 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引数 TextFormatTextFormat オブジェクトを指定
戻り値 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 全体に反映されます。
 
347 を設定することができます。
 
数値が高いほど、多くのメモリを消費し、高品質な表示となります。
 
デフォルトは、4 です。
 
高品質アンチエイリアスの品質を変更する(AS1.0)

flash.text.TextRenderer.maxLevel = 3;
 
高品質アンチエイリアスの品質を変更する(AS2.0)

import flash.text.TextRenderer;

TextRenderer.maxLevel = 3;