グリッドフィットタイプの使用

テキストフィールドに対して高度なアンチエイリアスを使用すると、次の 3 種類のグリッドフィッティングが使用できます。

none グリッドフィッティングを指定しません。文字の水平方向と垂直方向の線が、ピクセルグリッドに合わせられることはありません。この設定は多くの場合、アニメーションや、大きなフォントサイズに適した設定です。

pixel 太い水平線と垂直線がピクセルグリッドに合わされるよう指定します。この設定は左揃えのテキストフィールドに対してのみ機能します。左揃えのテキストは通常、この設定を使用すると、最も読みやすくなります。

subpixel 太い水平線と垂直線が、LCD モニタのサブピクセルグリッドに合わされるよう指定します。subpixel 設定は通常、右揃えや中央揃えのダイナミックテキストに適した設定で、アニメーション品質とテキスト品質のバランスを取るのに便利な場合もあります。

次に、ActionScript を使用してテキストフィールドにグリッドフィットタイプを設定する方法を示します。

テキストフィールドにグリッドフィットタイプを設定するには :

  1. 新しい Flash ドキュメントを作成し、gridfittype.fla という名前で保存します。
  2. [ライブラリ] パネルの右上隅にあるポップアップメニューから [新しいフォント] を選択します。
  3. [フォント] ドロップダウンメニューから [Arial] フォントを選択し、フォントサイズを 10 ポイントに設定します。
  4. [名前] テキストボックスにフォント名を「Arial-10 (embedded)」と入力し、[OK] をクリックします。
  5. ライブラリでフォントシンボルを右クリックし、[リンケージ] をクリックして [リンケージプロパティ] ダイアログボックスを開きます。
  6. リンケージ識別子を [Arial-10] に設定し、[ActionScript に書き出し] および [最初のフレームに書き出し] チェックボックスを選択します。
  7. [OK] をクリックします。
  8. メインタイムラインのフレーム 1 に次のコードを追加します。
    var my_fmt:TextFormat = new TextFormat();
    my_fmt.size = 10;
    my_fmt.font = "Arial-10";
    var h:Number = Math.floor(Stage.height / 3);
    
    this.createTextField("none_txt", 10, 0, 0, Stage.width, h);
    none_txt.antiAliasType = "advanced";
    none_txt.embedFonts = true;
    none_txt.gridFitType = "none";
    none_txt.multiline = true;
    none_txt.setNewTextFormat(my_fmt);
    none_txt.text = "loading...";
    none_txt.wordWrap = true;
    
    this.createTextField("pixel_txt", 20, 0, h, Stage.width, h);
    pixel_txt.antiAliasType = "advanced";
    pixel_txt.embedFonts = true;
    pixel_txt.gridFitType = "pixel";
    pixel_txt.multiline = true;
    pixel_txt.selectable = false;
    pixel_txt.setNewTextFormat(my_fmt);
    pixel_txt.text = "loading...";
    pixel_txt.wordWrap = true;
    
    this.createTextField("subpixel_txt", 30, 0, h*2, Stage.width, h);
    subpixel_txt.antiAliasType = "advanced";
    subpixel_txt.embedFonts = true;
    subpixel_txt.gridFitType = "subpixel";
    subpixel_txt.multiline = true;
    subpixel_txt.setNewTextFormat(my_fmt);
    subpixel_txt.text = "loading...";
    subpixel_txt.wordWrap = true;
    
    var lorem_lv:LoadVars = new LoadVars();
    lorem_lv.onData = function(src:String):Void {
        if (src != undefined) {
            none_txt.text = "[antiAliasType=none]\n" + src;
            pixel_txt.text = "[antiAliasType=pixel]\n" + src;
            subpixel_txt.text = "[antiAliasType=subpixel]\n" + src;
        } else {
            trace("unable to load text file");
        }
    };
    lorem_lv.load("http://www.helpexamples.com/flash/lorem.txt");
    

    上記の ActionScript コードは 5 つのセクションに分けることができます。最初のセクションでは、size および font の 2 つのプロパティを指定する新しいテキストフォーマットオブジェクトを定義しています。font プロパティは、現在ドキュメントライブラリ内にあるフォントシンボルのリンケージ識別子を参照します。コードの 2 番目、3 番目、4 番目のセクションではそれぞれ、ステージ上に新しいダイナミックテキストフィールドを作成し、antiAliasType (必ず advanced に設定)、embedFonts (true に設定)、multiline および wordWrap の各共通プロパティを設定します。各セクションではまた、前のセクションで作成したテキストフォーマットオブジェクトを適用し、グリッドフィットタイプを normalpixelsubpixel のいずれかに設定します。5 番目、最後のセクションでは LoadVars インスタンスを作成します。これにより、外部テキストファイルのコンテンツが、コードで作成した各テキストフィールドにロードされます。

  9. ドキュメントを保存し、[制御]-[ムービープレビュー] を選択して SWF ファイルをテストします。

    各テキストフィールドは値 "loading..." で初期化されます。外部テキストファイルのロードに成功したら、フォーマット済みのサンプルテキストが、さまざまなグリッドフィットタイプを使用して各テキストフィールドに表示されます。

    ヒント

     

    高度なアンチエイリアス技術では、回転が 0 度の場合にのみグリッドフィッティングが使用されます。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000904.html