ActionScript の使用方法の例

ActionScript 3.0 のコード例を実行することは、特定のクラスおよびメソッドの動作を学ぶ最も優れた方法の 1 つです。例は、使用するデバイス、またはターゲットにするデバイスに応じてさまざまな方法で使用できます。

Flash Professional または Flash Builder を実行しているコンピューター
これらの開発環境を使用して ActionScript 3.0 の例を実行する方法について詳しくは、Flash Professional での ActionScript 3.0 の例の実行またはFlash Builder での ActionScript 3.0 の例の実行を参照してください。trace 文などのデバッグツールを使用して、コード例がどのように動作するかについて理解を深めることができます。

モバイルデバイス
ActionScript 3.0 コード例は、Flash Player 10.1 以降のリリースをサポートするモバイルデバイス上で実行できます。モバイルデバイスでの ActionScript 3.0 の例の実行を参照してください。これらの例は、Flash Professional または Flash Builder を使用することにより、コンピューターで実行することもできます。

TV デバイス
これらの例を TV デバイスで実行することはできませんが、コンピューターで実行することによって例から学ぶことは可能です。TV デバイス向けのアプリケーション開発について詳しくは、Adobe Developer Connection の Webサイトにある Flash Platform for TV を参照してください。

例の種類

ActionScript 3.0 には、次の種類のコード例があります。

コードスニペット例

コードスニペット例を以下に示します。

var x:int = 5; 
trace(x); // 5

コードスニペットには、1 つの概念を示すのに十分なコードしか含まれていません。通常、package ステートメントや class ステートメントは含まれていません。

クラスの使用例

多くの例では、完全な ActionScript クラスのソースコードが示されています。クラスの使用例を以下に示します。

package { 
    public class Example1 { 
        public function Example1():void { 
            var x:int = 5; 
            trace(x); //5 
        } 
    } 
}

クラスの使用例を示すコードには、package ステートメント、クラス宣言およびコンストラクター関数が含まれています。

複数のソースファイルを含む実例

『ActionScript 3.0 開発ガイド』の多くのトピックでは、最後に実例が記載されています。そこでは、実際の現場で使える ActionScript 機能の使用例が示されています。通常、これらの例には次のような複数のファイルが含まれています。

  • 1 つ以上の ActionScript のソースファイル

  • Flash Professional で使用する .FLA ファイル

  • Flash Builder で使用する 1 つ以上の MXML ファイル

  • データファイル、イメージファイル、音声ファイルまたはサンプルアプリケーションで使用するその他のアセット(省略可能)

通常、実例は ZIP 形式のアーカイブファイルで提供されます。

開発ガイドの例のリストを含む ZIP ファイル

Flash Professional CS5 および Flex 4 用の ZIP ファイル(www.adobe.com/go/learn_programmingAS3samples_flash_jp からダウンロード)には、次の例が含まれています。

また、Flash デベロッパーセンターや Flex デベロッパーセンターの様々なクイックスタート記事でも実例を入手できます。

Flash Professional での ActionScript 3.0 の例の実行

Flash Professional を使用して例を実行するには、次のいずれかの手順を(例の種類に応じて)使用します。

Flash Professional でのコードスニペット例の実行

Flash Professional でコードスニペット例を実行するには:

  1. ファイル/新規を選択します。

  2. 新規ドキュメントダイアログボックスで 「Flash ドキュメント」を選択し、「OK」をクリックします。

    新しい Flash ウィンドウが表示されます。

  3. タイムラインパネルで、レイヤー 1 の最初のフレームをクリックします。

  4. アクションパネルにコードスニペット例を入力するか貼り付けます。

  5. ファイル/保存を選択します。ファイル名を指定し、「OK」をクリックします。

  6. 例をテストするには、制御/ムービープレビューを選択します。

Flash Professional でのクラスの使用例の実行

Flash Professional でクラスの使用例を実行するには:

  1. ファイル/新規を選択します。

  2. 新規ドキュメントダイアログボックスで 「ActionScript ファイル」を選択し、「OK」をクリックします。新しいエディターウィンドウが表示されます。

  3. クラスを使用したコード例をコピーして、エディターウィンドウに貼り付けます。

    このクラスがプログラムのメインドキュメントクラスの場合は、次のように MovieClip クラスを拡張する必要があります。

    import flash.display.MovieClip; 
    public class Example1 extends MovieClip{ 
    //... 
    }

    また、この例で参照するすべてのクラスを import ステートメントを使用して宣言するようにしてください。

  4. ファイル/保存を選択します。ファイルには、例で使用されているクラス名と同じ名前を指定します(ContextMenuExample.as など)。
    注意: flashx.textLayout.container.ContainerController クラスの使用例など、クラスの使用例にはパッケージの宣言に複数の階層がある(package flashx.textLayout.container.examples {)ものもあります。これらの例では、パッケージの宣言に一致するサブフォルダー(flashx/textLayout/container/examples)にファイルを保存するか、ActionScript の最初が package { のみになるようにパッケージ名を削除すると、このファイルをどの場所からでもテストできるようになります。
  5. ファイル/新規を選択します。

  6. 新規ドキュメントダイアログボックスで「Flash ドキュメント」を選択し(ActionScript 3.0)、「OK」をクリックします。新しい Flash ウィンドウが表示されます。

  7. プロパティパネルの「ドキュメントクラス」フィールドに、例で使用されているクラス名を入力します。この名前は、保存した ActionScript ソースファイルの名前と一致している必要があります(ContextMenuExample など)。

  8. ファイル/保存を選択します。FLA ファイルには、例で使用されているクラス名と同じ名前を指定します(ContextMenuExample.fla など)。

  9. 例をテストするには、制御/ムービープレビューを選択します。

Flash Professional での実例の実行

通常、実例は ZIP 形式のアーカイブファイルで提供されます。Flash Professional で実例を実行するには:

  1. アーカイブファイルを任意のフォルダーに解凍します。

  2. Flash Professional で、ファイル/開くを選択します。

  3. アーカイブファイルを解凍したフォルダーを参照します。そのフォルダー内にある FLA ファイルを選択して、「開く」をクリックします。

  4. 例をテストするには、制御/ムービープレビューを選択します。

Flash Builder での ActionScript 3.0 の例の実行

Flash Builder を使用して例を実行するには、次のいずれかの手順を(例の種類に応じて)使用します。

Flash Builder でのコードスニペット例の実行

Flash Builder でコードスニペット例を実行するには:

  1. 新しい Flex プロジェクトを作成(ファイル/新規/Flex プロジェクトを選択)するか、既存の Flex プロジェクト内で新しい MXML アプリケーションを作成(ファイル/新規/MXML アプリケーションを選択)します。プロジェクトまたはアプリケーションにわかりやすい名前を付けます(ContextMenuExample など)。

  2. 生成された MXML ファイル内に <mx:Script> タグを追加します。

  3. <mx:Script> タグと </mx:Script> タグの間にコードスニペット例の内容を貼り付けます。MXML ファイルを保存します。

  4. 例を実行するには、「実行」を選択して、メイン MXML ファイルの実行メニューオプション(例:実行/ContextMenuExample を実行)を選択します。

Flash Builder でのクラスの使用例の実行

Flash Builder でクラスの使用例を実行するには:

  1. ファイル/新規/ActionScript プロジェクトを選択します。

  2. 「プロジェクト名」フィールドに主要なクラスの名前(ContextMenuExample など)を入力します。他のフィールドではデフォルト値を使用(または固有の環境に合わせて変更)します。「終了」をクリックしてプロジェクトとメイン ActionScript ファイルを作成します。

  3. ActionScript ファイルにコードが生成されている場合はすべて削除します。コード例(package および import ステートメントを含む)を ActionScript ファイルに貼り付けてファイルを保存します。

    注意: flashx.textLayout.container.ContainerController クラスの使用例など、クラスの使用例にはパッケージの宣言に複数の階層がある(package flashx.textLayout.container.examples {)ものもあります。これらの例では、パッケージの宣言に一致するサブフォルダー(flashx/textLayout/container/examples)にファイルを保存するか、ActionScript の最初が package { のみになるようにパッケージ名を削除すると、このファイルをどの場所からでもテストできるようになります。
  4. 例を実行するには、「実行」を選択して、メイン ActionScript クラス名の実行メニューオプション(例:実行/ContextMenuExample を実行)を選択します。

Flash Builder での実例の実行

通常、実例は ZIP 形式のアーカイブファイルで提供されます。Flash Builder で実例を実行するには:

  1. アーカイブファイルを任意のフォルダーに解凍します。フォルダーにわかりやすい名前を付けます(ContextMenuExample など)。

  2. Flash Builder で、ファイル/新規/Flex プロジェクトを選択します。「プロジェクトの場所」セクションで「参照」をクリックし、サンプルファイルが保存されているフォルダーを選択します。「プロジェクト名」フィールドにフォルダー名(ContextMenuExample など)を入力します。他のフィールドではデフォルト値を使用(または固有の環境に合わせて変更)します。「次へ」をクリックして続行します。

  3. 出力パネルで、「次へ」をクリックし、デフォルト値をそのまま使用します。

  4. ソースパスパネルで、「メインアプリケーションファイル」フィールドの横にある「参照」ボタンをクリックします。サンプルフォルダーからサンプルのメイン MXML ファイルを選択します。「終了」をクリックしてプロジェクトファイルを作成します。

  5. 例を実行するには、「実行」を選択して、メイン MXML ファイルの実行メニューオプション(例:実行/ContextMenuExample を実行)を選択します。

モバイルデバイスでの ActionScript 3.0 の例の実行

ActionScript 3.0 のコード例は、Flash Player 10.1 をサポートしているモバイルデバイス上で実行できます。ただし、一般にコード例を実行する目的は、特定のクラスやメソッドの動作を確認することにあります。その場合には、デスクトップコンピューターなどのモバイル以外のデバイス上で例を実行してください。デスクトップコンピューターでは、trace ステートメントや Flash Professional または Flash Builder のデバッグツールを使用してコード例について理解を深めることができます。

モバイルデバイス上で例を実行する場合は、デバイスまたは Web サーバーにファイルをコピーします。ファイルをデバイスにコピーしてブラウザーで例を実行するには、次の手順に従います。

  1. Flash Professional での ActionScript 3.0 の例の実行または Flash Builder での ActionScript 3.0 の例の実行の手順に従って、SWF ファイルを作成します。Flash Professional では、制御/ムービープレビューを選択するときに SWF ファイルが作成されます。Flash Builder では、Flash Builder プロジェクトを実行、デバッグまたはビルドするときに SWF ファイルが作成されます。

  2. SWF ファイルをモバイルデバイス上のディレクトリにコピーします。ファイルをコピーするには、デバイスに付属のソフトウェアを使用します。

  3. モバイルデバイス上で、ブラウザーのアドレスバーに SWF ファイルの file:// URL を入力します。例えば、file:://applications/myExample.swf と入力します。

ファイルを Web サーバーにコピーしてデバイスのブラウザーで例を実行するには、次の手順に従います。

  1. SWF ファイルおよび HTML ファイルを作成します。まず、Flash Professional での ActionScript 3.0 の例の実行または Flash Builder での ActionScript 3.0 の例の実行の手順に従います。Flash Professional で、制御/ムービープレビューを選択すると、SWF ファイルのみが作成されます。両方のファイルを作成するには、まず、パブリッシュ設定ダイアログの「フォーマット」タブで、「Flash」と「HTML」の両方を選択します。次に、ファイル/パブリッシュを選択すると、HTML ファイルと SWF ファイルの両方が作成されます。Flash Builder では、Flash Builder プロジェクトを実行、デバッグまたはビルドするときに SWF ファイルと HTML ファイルの両方が作成されます。

  2. SWF ファイルと HTML ファイルを Web サーバーのディレクトリにコピーします。

  3. モバイルデバイス上で、ブラウザーのアドレスバーに、HTML ファイルの HTTP アドレスを入力します。例えば、http://www.myWebServer/examples/myExample.html と入力します。

モバイルデバイス上で例を実行する前に、次の各事項考慮について検討してください。

ステージサイズ

モバイルデバイス上で例を実行するときに使用するステージのサイズは、モバイル以外のデバイスで使用する場合よりも、かなり小さくなります。多くの例では、ステージのサイズが指定されていません。SWF の作成時に、ご使用のデバイスに合わせてステージのサイズを指定してください。例えば、176 x 208 ピクセルと指定します。

『ActionScript 3.0 開発ガイド』の実例は、様々な ActionScript 3.0 の概念とクラスについて説明することを目的としています。そこで使用されるユーザーインターフェイスは、デスクトップまたはラップトップコンピューター上で正しく表示および動作できるように設計されています。例はモバイルデバイス上でも動作しますが、ステージのサイズやユーザーインターフェイスの設計は、小さな画面には適していません。アドビ システムズ社では、コンピューター上で実例を実行して ActionScript について学習し、付随するコードスニペットをモバイルアプリケーションで使用することをお勧めします。

テキストフィールドによる trace ステートメントの代替

モバイルデバイス上で例を実行する場合は、例の trace ステートメントからの出力を表示できません。出力を表示するには、TextField クラスのインスタンスを作成します。次に、trace ステートメントからのテキスト出力をテキストフィールドの text プロパティに追加します。

テキストフィールドを設定しトレースの代替機能として使用するには、次の関数を使用します。

function createTracingTextField(x:Number, y:Number, 
                                width:Number, height:Number):TextField { 
           
    var tracingTF:TextField = new TextField(); 
    tracingTF.x = x; 
    tracingTF.y = y; 
    tracingTF.width = width; 
    tracingTF.height = height; 
     
    // A border lets you more easily see the area the text field covers. 
    tracingTF.border = true; 
    // Left justifying means that the right side of the text field is automatically 
    // resized if a line of text is wider than the width of the text field. 
    // The bottom is also automatically resized if the number of lines of text 
    // exceed the length of the text field. 
    tracingTF.autoSize = TextFieldAutoSize.LEFT; 
     
    // Use a text size that works well on the device. 
    var myFormat:TextFormat = new TextFormat(); 
    myFormat.size = 18; 
    tracingTF.defaultTextFormat = myFormat; 
     
    addChild(tracingTF); 
    return tracingTF; 
}

例えば、この関数をドキュメントクラスに private 関数として追加します。次に、ドキュメントクラスの他のメソッドで次のようなコードを使用してデータをトレースします。

var traceField:TextField = createTracingTextField(10, 10, 150, 150); 
// Use the newline character "\n" to force the text to the next line. 
traceField.appendText("data to trace\n"); 
traceField.appendText("more data to trace\n"); 
// Use the following line to clear the text field. 
traceField.appendText("");

appendText() メソッドがパラメーターとして受け付ける値は 1 つだけです。その値はストリング(String インスタンスまたはストリングリテラル)にする必要があります。ストリング以外の変数の値を出力するには、まず値を String に変換する必要があります。このための最も簡単な方法は、オブジェクトの toString() メソッドを呼び出すことです。

var albumYear:int = 1999; 
traceField.appendText("albumYear = "); 
traceField.appendText(albumYear.toString());

テキストサイズ

多くの例では、概念を説明するのにテキストフィールドが使用されています。テキストフィールド内のテキストサイズを調整すると、モバイルデバイス上の表示が読みやすくなる場合があります。例えば、例で myTextField という名前のテキストフィールドインスタンスが使用されている場合は、そのテキストのサイズを次のコードで変更します。

// Use a text size that works well on the device. 
var myFormat:TextFormat = new TextFormat(); 
myFormat.size = 18; 
myTextField.defaultTextFormat = myFormat

ユーザー入力のキャプチャ

モバイル用オペレーティングシステムとブラウザーでは、SWF コンテンツでは受信されないいくつかのユーザー入力イベントをキャプチャします。イベント固有の動作はオペレーティングシステムとブラウザーによって異なりますが、モバイルデバイス上で例を実行したときに予期しない動作を示す可能性があります。詳しくは、KeyboardEvent の優先度を参照してください。

また、多くの例のユーザーインターフェイスは、デスクトップまたはラップトップコンピューターを対象として設計されています。例えば、『ActionScript 3.0 開発ガイド』で使用されている実例の多くは、デスクトップでの表示に適しています。したがって、モバイルデバイスの画面では、ステージ全体を表示できない場合があります。ブラウザーのコンテンツ全体をパンできるかどうかは、使用しているブラウザーによって異なります。さらに、例はスクロールまたはパンのイベントをキャッチして処理するように設計されていません。したがって、例で使用されているユーザーインターフェイスの一部は、小さな画面で実行するのには適していません。アドビ システムズ社では、コンピューター上で例を実行して ActionScript について学習し、付随するコードスニペットをモバイルアプリケーションで使用することをお勧めします。

詳しくは、表示オブジェクトのパンとスクロールを参照してください。

フォーカスの処理

一部の例では、フィールドにフォーカスを設定する必要があります。フィールドにフォーカスを設定することにより、テキスト入力やボタン選択などを実行できます。フィールドにフォーカスを設定するには、指またはペンなどのモバイルデバイスのポインターデバイスを使用します。または、モバイルデバイスのナビゲーションキーを使用してフィールドにフォーカスを設定します。フォーカスの設定されているボタンを選択するには、モバイルデバイスの選択キーを使用します。コンピューターで Enter キーを使用するのと同じ要領です。一部のデバイスでは、ボタンを 2 回タップすると選択できます。

フォーカスについて詳しくは、フォーカスの管理を参照してください。

マウスイベントの処理

多くの例ではマウスイベントを監視します。コンピューターでは、例えば、ユーザーが表示オブジェクト上にマウスを移動したり、表示オブジェクト上でマウスボタンをクリックしたりしたときに、これらのマウスイベントが発生します。モバイルデバイスでは、指またはペンなどのポインターデバイスを使用したときに発生するイベントはタッチイベントと呼ばれます。Flash Player 10.1 では、タッチイベントをマウスイベントにマップします。このマッピングによって、Flash Player 10.1 より前に開発された SWF コンテンツでも引き続き動作することが保証されます。したがって、ポインターデバイスを使用して表示オブジェクトを選択したり、ドラッグしたりする場合でも、例は動作します。

パフォーマンス

モバイルデバイスの処理能力はデスクトップデバイスに劣ります。CPU に高い負荷のかかる例をモバイルデバイスで実行すると、パフォーマンスが低下します。例えば、描画 API の例:Algorithmic Visual Generatorの例では、フレームに入るたびに膨大な量の計算と描画が実行されます。この例をコンピューターで実行すると、様々な描画 API が例示されます。しかし、一部のモバイルデバイスはパフォーマンスに制限があるので、この例を実行するのに適していません。

モバイルデバイスでのパフォーマンスについて詳しくは、「Flash Platform のパフォーマンスの最適化」を参照してください。

ベストプラクティス

例では、モバイルデバイス向けアプリケーションを開発する上でのベストプラクティスを考慮していません。モバイルデバイスにおけるメモリおよび処理能力の制限は、特別な考慮を必要とします。同様に、小さい画面用のユーザーインターフェイスもデスクトップ表示とは異なる考慮が必要です。モバイルデバイス用のアプリケーション開発について詳しくは、Flash Platform のパフォーマンスの最適化」を参照してください。