埋め込みフォントでの TextField メソッドの使用

TextField クラスのメソッドにより、作成するアプリケーションにおいて有益な機能を利用することができます。たとえば、次の例のように、ActionScript を使用してテキストフィールドの深度を制御できます。

ActionScript を使用してテキストフィールドの深度を設定するには :

  1. 新しい Flash ドキュメントを作成し、textfieldThickness.fla という名前で保存します。
  2. [ライブラリ] パネルを開き、パネルの右上隅にあるポップアップメニューから [新しいフォント] を選択します。

    [フォントシンボルプロパティ] ダイアログボックスが表示されます。このダイアログボックスでは、SWF ファイルに埋め込むフォントを選択できます (フォントスタイルとフォントサイズも含みます)。ドキュメントのライブラリおよびプロパティインスペクタの [フォント] ドロップダウンメニューに表示されるフォント名を割り当てることもできます (ステージ上でテキストフィールドを選択している場合)。

    1. [フォント] ドロップダウンメニューから、Times New Roman フォントを選択します。
    2. [ボールド] および [イタリック] オプションをオフにしてください。
    3. サイズを 30 ピクセルに設定します。
    4. フォント名を「Times (embedded)」と入力します。
    5. [OK] をクリックします。
  3. [ライブラリ] パネルで、フォントシンボルを右クリックし、コンテキストメニューから [リンケージ] を選択します。

    [リンケージプロパティ] ダイアログボックスが表示されます。

  4. [ActionScript に書き出し] と [最初のフレームに書き出し] オプションを選択し、[OK] をクリックします。
  5. タイムラインのフレーム 1 に次の ActionScript を追加します。
    // 1
    this.createTextField("thickness_txt", 10, 0, 0, Stage.width, 22);
    this.createTextField("lorem_txt", 20, 0, 20, Stage.width, 0);
    lorem_txt.autoSize = "left";
    lorem_txt.embedFonts = true;
    lorem_txt.antiAliasType = "advanced";
    lorem_txt.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.";
    lorem_txt.wordWrap = true;
    
    // 2
    var style_fmt:TextFormat = new TextFormat();
    style_fmt.font = "Times (embedded)";
    style_fmt.size = 30;
    lorem_txt.setTextFormat(style_fmt);
    
    // 3
    var mouseListener:Object = new Object();
    mouseListener.onMouseMove = function():Void {
        // TextField.thickness の値の範囲は -200 から +200 まで
        lorem_txt.thickness = Math.round(_xmouse * (400 / Stage.width) - 200);
        thickness_txt.text = "TextField.thickness = " + lorem_txt.thickness;
    };
    Mouse.addListener(mouseListener);
    

    最初のコードブロックにより、2 つのテキストフィールド、thickness_txtlorem_txt が作成され、ステージ上に位置付けられます。lorem_txt テキストフィールドは embedFonts プロパティを true に設定し、テキストフィールドにテキストのブロックを格納します。

    2 番目のコードブロックは、フォントフェイスを Times New Roman としてテキストフォーマットを定義し、フォントサイズを 30 ピクセルに設定し、このテキストフォーマットを lorem_txt テキストフィールドに適用します。

    3 番目 (最後) のコードブロックは、マウスリスナーを定義し、onMouseMove イベントに割り当てます。マウスポインタがステージを水平方向に移動すると、TextField.thickness プロパティが -200 ~ +200 の範囲で、_xmouse の現在値に応じて変化します。

  6. FLA ファイルの変更を保存します。
  7. [制御]-[ムービープレビュー] を選択し、Flash ドキュメントをテストします。

    マウスポインタをステージのステージの左半分側に動かすと、フォントの太さが減少します。マウスポインタをステージのステージの右半分側に動かすと、フォントの太さが増加します。


 

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

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