Adobe
製品
Acrobat
Creative Cloud
Creative Suite
Digital Marketing Suite
Digital Publishing Suite
Elements
Photoshop
Touch Apps
その他の製品一覧
ソリューション
デジタルマーケティング
デジタルメディア
教育
金融機関
Web Experience Management
その他のソリューション
ラーニング サポート ダウンロード 会社情報
ご購入
アドビストア 安心のサポート& サービス
アカデミックストア 学生、教職員、個人向け
アドビライセンスストア 中小企業向け
ボリュームライセンスについて 企業、教育機関、官公庁向け
販売パートナー
キャンペーン情報
検索
 
情報 サインイン
ようこそ、 さん カート 注文状況 マイアカウント
マイアカウント
注文状況
アカウント情報の変更
コミュニケーションの設定を変更
サインアウト
サインインの目的 お客様のアカウントや体験版ダウンロード、製品の拡張機能、コミュニティエリアへのアクセスなどを管理するため
Adobe
製品 セクション ご購入   検索  
ソリューション 会社情報
サポート ラーニング
サインイン サインアウト 注文状況 マイアカウント
先行予約の提供開始予定日Date. 商品が発送されるまで、クレジットカードには課金されません。提供開始の予定日は変更される場合があります。 先行予約の提供開始予定日Date. ダウンロードの準備が整うまで、クレジットカードには課金されません。提供開始の予定日は変更される場合があります。
個数:
ご購入には学生・教職員個人版の購入資格の確認が必要です。
小計
カートの中身を見る
Adobe Developer Connection / Flashデベロッパーセンター /

Flash ActionScript 2.0習得ガイド

著者 Macromedia Instructional Media Development(IMD)

Macromedia Instructional Media Development(IMD)
  • Macromediaドキュメンテーション

著者 Jen deHaan

Jen deHaan
  • Adobe
  • flashthusiast.com

Content

  • スクリプトアシストについて
  • ActionScript 2.0言語の詳細
  • データの理解
  • シンタックスとステートメントについて
  • イベントの処理
  • オブジェクト指向プログラミング
  • 次のステップ

更新日

12 September 2005

ページ ツール

Facebookでシェア
Twitterでツイート
LinkedInでシェア
ブックマーク
印刷

タグ

必要条件

この記事に必要な予備知識

FlashおよびFlashワークスペースについての基礎知識が必要です。Flashを初めて使用する場合は、「Getting Started Learning Guide」を参照してください。

ユーザーレベル

初級

必要な製品

  • Flash Basic
  • Flash Professional (Download trial)

メモ:この習得ガイドでは、FlashのActionScriptについて紹介し、ユーザのスキルアップのためのツールを提供します。取り上げる素材の多くは、Flashドキュメンテーションに含まれるものです。新しい機能の使用方法を学ぶ際には、最初にFlashヘルプまたはLiveDocsを必ず参照してください。

ActionScriptはFlashで使用されているスクリプト言語です。ActionScriptを使用すると、インタラクティブなFlashコンテンツを作成できます。また、単純なアニメーションの作成から、豊富なデータを含む複雑でインタラクティブなアプリケーションインタフェイスの設計に至る、Flashでのさまざまな作業を効率的に行うことができます。Flashのスクリプト言語であるActionScriptは、数多くのリリースを経て徐々に進化してきました。ActionScriptには、ActionScript 1.0とActionScript 2.0の2つのバージョンがあります。

ActionScript 1.0はActionScriptの簡易バージョンです。ほとんどの一般的なニーズやFlash Playerの旧バージョンへの対応にご利用いただけます。ユーザがボタンをクリックしたときに単純なインタラクティブ操作を行う場合、またはモバイルデバイス用のアプリケーションを作成する場合は、ActionScript 1.0を使用します。しかし、もっと複雑なコードを作成する場合は、ActionScript 2.0の方が適しています。

ActionScript 2.0は、完全なクラス継承と開発者が高機能言語に求めるすべての機能をサポートしているオブジェクト指向プログラミング言語です。より柔軟性のあるプログラミング環境とより高いデバッグ能力を提供します。ActionScript 2.0は、慣れ親しんだ本格的なオブジェクト指向プログラミング(OOP)手法を用いており、クラス、継承、インタフェイスなどのOOPの一般的な概念をすべてサポートしています。また、ActionScript 2.0は、変数のデータ型の指定、関数パラメータと戻り値の型、包括的なデバッグ情報など、ActionScriptプログラミングを拡張する機能も備えています。開発者にとっては、プログラミング構造の改善と、コーディングおよび維持にかかる時間を短縮できる利点もあります。堅牢な機能を持つ本格的なプログラミング言語を使用したコードを作成するには、ActionScript 2.0を使用します。

ActionScript 2.0がプロジェクトに適しているかどうか、ActionScript 1.0の方が簡単で手早いソリューションかどうかを判断するには、次のリソースを参照してください。それによって、この重要な決定を下し、それぞれのプロジェクトを最も効率的に進めることができます。

  • ActionScriptを初めて使用する場合は、まずLiveDocsで、この言語の構文および基礎知識についてお読みください。Flashで「ActionScript 2.0の学習」を選択し、「データおよびデータ型」および「シンタックスと言語の基礎」の2つのセクションをお読みください。
  • ActionScript 1.0とActionScript 2.0の違いについては、まず「ActionScript 1.0とActionScript 2.0の選択」および「ActionScript 2.0への移行」を参照してください。
  • ActionScript 1.0およびActionScript 2.0におけるオブジェクト指向コーディングの利点を比較するには、次を参照してください。
    • ActionScript 1.0については、LiveDocsの『ActionScript 2.0の学習』の「ActionScript 1.0でのオブジェクト指向プログラミング」を参照してください。
    • ActionScript 2.0については、後述の「オブジェクト指向プログラミング」と、LiveDocsの『ActionScript 2.0の学習』の「クラス」を参照してください。

このガイドでは、ActionScript 2.0およびオブジェクト指向プログラミングの基本概念の一部を紹介します。この後のセクションでは、一般的な用語について説明し、Flashアプリケーションの構成方法、FlashのActionScript言語およびスクリプティングの学習方法、さらなる情報や例を見つけることができる場所を示します。

ここでもまた、ActionScript言語を初めて使用する場合は、ActionScriptへの導入として、Flash LiveDocsの『ActionScript 2.0の学習』マニュアルの「シンタックスと言語の基礎」を参照してください。ActionScriptの使用経験があり、ActionScript 2.0を使ったクラスの作成を始めたい場合は、同じマニュアルの「クラス」に掲載されている「カスタムクラスの記述」の例を参照してください。

スクリプトアシストについて

ActionScriptコードやシンタックスの記述に不安がある場合、アクションパネル(ウィンドウ/アクション)のスクリプトアシストモードを使用してみることもできます。スクリプトアシストは、スクリプトを作成する際に便利なツールです。スクリプトを作成するには、アクションパネルで選択を行い、テキストフィールドに入力してスクリプトペインでステートメントを自動的に作成します。スクリプトアシストは通常大きなアプリケーションには使用しませんが、Flashアプリケーションへのインタラクティブ操作の追加、プロトタイプのモックアップなどに非常に便利です。

スクリプトアシストを使用すると、アクションツールボックス(アクションパネルの左側にあるリスト)から項目を選択してスクリプトを作成できます。追加(+)ポップアップメニューからアクションを選択することもできます。アクションツールボックスでは、項目がアクション、プロパティ、オブジェクトなどのカテゴリに区分されており、すべての項目をアルファベット順にリストするインデックスカテゴリも用意されています。項目を一度クリックすると、パネルの右上にその説明が表示されます。項目をダブルクリックすると、スクリプトペインのパネルの右側にあるスクロールリストにその項目が追加されます。

スクリプトアシストモードでは、スクリプトペインでのステートメントの追加、削除または順序の変更を行うことができます。スクリプトペインの上にあるテキストボックスにアクションのパラメータを入力することもできます。スクリプトアシストモードでは、アクションパネルの標準機能を使用することもできます。例えば、テキストの検索と置換、スクリプトの行番号の表示、スクリプトの固定(オブジェクトやフレームからクリックするだけでスクリプトをスクリプトペインに保持)などを行うことができます。

アクションをFlashドキュメントに追加するには、ボタンやムービークリップまたはタイムラインのフレームに関連付ける必要があります。アクションパネルでは、アクションの選択、ドラッグ&ドロップ、再配置および削除を行うことができます。

スクリプトアシストを使用してActionScriptを記述するには:

  1. ウィンドウ/アクションを選択します。
    アクションパネルが表示されます。
  2. 「スクリプトアシスト」ボタンをクリックします。
    アクションパネルがスクリプトアシストモードに移行します。

メモ:「スクリプトアシスト」ボタンのクリック時にアクションパネルにActionScriptコードがある場合、既存のコードが検証されます。コードにエラーがある場合、現在のコードの選択範囲を修正(またはコメントアウト)しない限り、スクリプトアシストを使用できません。スクリプトの削除と操作について詳しくは、Flash LiveDocsでFlashユーザーガイド/スクリプトアシストを使用したActionScriptの記述/スクリプトアシストを使用したActionScriptの記述のセクションを参照してください。

スクリプトアシストを有効にすると、アクションパネルのユーザインタフェイスとビヘイビアが次のように変更されます。

  • 追加(+)ボタンの機能は、スクリプトアシストモードの場合と異なります。フォーカスがアクションツールボックスにある場合、現在選択されているテキストブロックの後に選択範囲が追加されます。フォーカスがスクリプトペインにある場合、該当するテキストブロックに選択範囲が追加されます。
  • 削除(-)ボタンを使用すると、スクリプトペインの現在の選択範囲を削除できます。
  • 上下の矢印ボタンを使用すると、スクリプトペインの現在の選択範囲をコード内で前後に移動できます。
  • 「シンタックスチェック」、「自動フォーマット」、「コードヒントの表示」、「デバッグオプション」の各ボタンおよびアクションパネルに通常表示されるメニュー項目は、スクリプトアシストモードには適用されないため、無効になります。
  • 「ターゲットパスの挿入」ボタンを使用すると、アクションのターゲットとして、ステージ上の(またはステージ上のオブジェクト内でネストされている)ムービークリップ、ボタン、テキストフィールドまたはビデオオブジェクトを選択できます。このようなターゲットとして想定される編集ペイン内のフィールドを編集中でない限り、このボタンは無効になります。

スクリプトアシストによるスクリプトの追加、削除および操作について詳しくは、Flash LiveDocsでFlashユーザーガイド/スクリプトアシストを使用したActionScriptの記述/スクリプトアシストを使用したActionScriptの記述のセクションを参照してください。

Flashドキュメンテーション(FlashヘルプとLiveDocsの両方)には、スクリプトアシストの使用方法を説明する演習例が用意されています。Script Assistによるスクリプトの記述例については、Flashユーザーガイド/スクリプトアシストを使用したActionScriptの記述/スクリプトアシストを使用した startDrag/stopDrag イベントの作成を参照してください。スクリプトアシストを使用した小さなアプリケーションの作成方法を示すチュートリアルについては、Flashチュートリアル/ActionScript:スクリプトアシストモードの使用を参照してください。

ActionScript 2.0言語の詳細

ActionScript 2.0には、クラス、継承、インタフェイスなど、いくつかのプログラミングキーワードや概念が導入されています。これらの概念は、一般的にはオブジェクト指向プログラミングと呼ばれるものから構成されています。詳しくは、Flash LiveDocsの次のセクションを参照してください。

  • オブジェクト指向プログラミングの概要については、ActionScript 2.0の学習/クラス/オブジェクト指向プログラミングとFlashについて/オブジェクト指向プログラミングの基礎を参照してください。
  • ActionScript用語のリストについては、ActionScript 2.0の学習/用語を参照してください。

ActionScript 2.0には次の機能があります。

  • 広く知られているオブジェクト指向プログラミング(OOP)モデル。ActionScript 2.0の主要な機能として、オブジェクト指向プログラム作成用の一般に知られているモデルが挙げられます。ActionScript 2.0には、クラス、インタフェイス、パッケージなどのオブジェクト指向概念がいくつか実装されています。これらの概念については、Javaや他のオブジェクト指向言語でプログラミングの経験がある方ならば、よく知っているはずです。
  • OOPモデルと継承。このモデルは、オブジェクトを作成し継承を確立するために、Flash MXなど以前のバージョンのFlashで使用されるプロトタイプ連鎖方法を「構文的に形式化」したものです。ActionScript 2.0では、カスタムクラスを作成し、Flashのビルトインクラスを拡張できます。
  • 厳密な型指定。ActionScript 2.0ではまた、変数のデータ型、関数のパラメータおよび関数の戻り値の型も指定できます。例えば、次のコードでは、タイプがストリング(ビルトインのActionScriptデータ型またはクラス)のuserNameという名前の変数を宣言しています。

    var userName:String = “Fred”;

  • コンパイラの警告とエラー。前述の2つの機能(OOPモデルと厳密な型指定)によって、オーサリングツールとコンパイラでは、コンパイラの警告とエラーメッセージを出力できるため、アプリケーションのバグを以前のFlashより早く見つけられます。

ActionScript 2.0を使用する場合、FLAファイルのパブリッシュ設定でActionScript 2.0を指定してください。これはFlash 8で作成されるファイルの初期設定となっています。ただし、ActionScript 1.0を使用する古いFLAファイルを開き、ActionScript 2.0で書き換える場合は、FLAファイルのパブリッシュ設定をActionScript 2.0に変更します。変更しない場合、FLAファイルのコンパイルが正しく行われず、エラーが生成されません。

ActionScriptで作成するクラスは、別のActionScript(AS)ファイルに格納する必要があります。タイムライン上のフレーム(フレームスクリプト)でクラスを作成したり、ムービークリップやボタンインスタンスに関連付けたりすることはできません。クラスファイルに関する重要ないくつかのポイントを次に示します。

  • 各ASクラスファイルには1つのクラスしか定義できません。
  • クラスを格納しているファイルの名前は、そのクラスの名前と一致する必要があります。
  • ActionScriptクラスファイルは、Flashコンパイラがクラスを検索するフォルダに配置する必要があります。
  • フォルダ内の複数のクラスを組み合わせてパッケージを作成できます。

クラスとオブジェクト指向プログラミングについて詳しくは、このガイドの「Object-Oriented Programming」セクションを参照してください。クラスの作成とオブジェクト指向プログラミングに不慣れな場合は、Flash LiveDocsのActionScript 2.0の学習/クラス/例 : カスタムクラスの記述のセクションの手順を試してみてください。

詳しくは、Flash LiveDocsの次のセクションを参照してください。

  • 「クラスパスの設定と修正について」
    (ActionScript 2.0の学習/クラス/アプリケーションでのカスタムクラスの使用について/クラスファイルの読み込みについて/クラスパスの設定と修正について)
  • 「パッケージについて」
    (ActionScript 2.0の学習/クラス/オブジェクト指向プログラミングと Flash について/パッケージについて)
  • 「ActionScript 2.0のベストプラクティスとコーディング規則」
    (ActionScript 2.0の学習/ActionScript 2.0のベストプラクティスとコーディング規則)

ActionScript 1.0とActionScript 2.0の選択

Flashで新しいドキュメンテーションまたはアプリケーションを開始する場合、関連するファイルの編成方法を決定する必要があります。複雑なアプリケーションの作成時など、一部のプロジェクトではクラスを使用することもあります。ただし、すべてのドキュメントでクラスを使用するわけではありません。例えば、Flashのドキュメントにある多数の短い例では、クラスを使用していません。

小さなアプリケーションや簡単なFLAファイルでは、クラスを使用して機能を格納することが最も簡単または最適なソリューションとは言えません。小さなプロジェクトを作成する場合、クラスや外部コードファイルを使用してActionScriptを構成すると、FLAファイル内にActionScriptを追加するより大変な作業量や労力になることがよくあります。ActionScriptをドキュメント内に配置する方がたいてい効率的です。この場合、タイムライン上のすべてのコードをできる限り少ないフレームに配置し、コードをFLAファイルのインスタンス(ボタンやムービークリップなど)に配置しないようにしてください。

すべてのActionScriptコードを、読み込むクラス内に配置しないで、FLAファイル内に保持する場合、必ずしもActionScript 1.0を使用する必要はありません。コードをFLAドキュメント内に配置した上で、厳密なデータ型指定機能や新しいメソッドとプロパティを持つActionScript 2.0を使用することもできます。ActionScript 2.0には、他のプログラミング言語の標準に従うシンタックスも用意されています。これにより、この言語の学習がより簡単で価値のあるものになります。例えば、構造とシンタックスの規格が同じ別の言語を使用したことがある場合、ActionScriptに違和感を感じません。または、その知識を将来学習する他の言語に適用することもできます。ActionScript 2.0では、言語エレメントの追加セットを使用することで、アプリケーション開発にオブジェクト指向のアプローチを採用できます。これはアプリケーション開発にとって有利です。

場合によっては、使用するActionScriptのバージョンを選択できないこともあります。モバイルデバイスアプリケーションなど、古いバージョンのFlash PlayerをターゲットとするSWFファイルを作成する場合、多くのデバイスでFlash Playerと互換性がある、ActionScript 1.0を使用する必要があります。

ActionScriptのバージョンに関わらず、その場に応じた手法に従う必要があります。大文字と小文字の区別における一貫性の確保、コード補完機能の使用、読みやすさの強化、インスタンス名でのキーワード使用の防止、一貫した命名規則の維持など、多くのプラクティスはどちらのバージョンにも適用されます。アプリケーションを将来のFlashのバージョンで更新するか、より大きく複雑にする予定がある場合は、ActionScript 2.0、クラスおよびバージョンコントロールを使用して、アプリケーションの更新と変更をしやすくしておく必要があります。クラスファイルについて詳しくは、「オブジェクト指向プログラミング」セクションを参照してください。

ActionScript 2.0への移行

ActionScript 1.0コードからActionScript 2.0コードへの更新で最初に理解しておく必要があることは、ほとんどの場合において、更新が不要であるということです。以前のバージョンのFlashで作成したActionScriptは、Flash 8とFlash Player 8でもそのまま動作します。

コードをActionScript 1.0からActionScript 2.0に移行すると役に立つのは、主に次の場合です。

  • 大量のコードを含む大規模なFlashアプリケーションやプレゼンテーションの場合。ActionScript 2.0を使用すると、開発プロセスを単純化でき、ActionScript 1.0より多くのデバッグ情報を得られます。
  • 最初にFlash MXまたはFlash 5で作成したOOPプログラムをアップグレードする場合。ActionScript 2.0を使用すると、コードの保守と変更がより簡単になります。
  • OOPに興味があり、使い慣れたオーサリング環境でOOPについて学習したい場合。

また、ActionScript 2.0やV2コンポーネントの利点や機能の一部を活用するために、クラスファイルを記述する必要がないことも覚えておいてください。タイムライン上のフレームスクリプトを使用しても、ActionScript 2.0コード(データ型の注釈を変数に適用するコードなど)を記述できます。

ActionScriptとFlash Playerの理解

ActionScriptとFlash Playerの新規バージョンはよく同時にリリースされますが、常に同義とは言えません。Flash PlayerとActionScriptのバージョンには、Flashアプリケーションの作成時点を理解する上で非常に重要な区別があります。

ActionScript 1.0またはActionScript 2.0を使用して、FlashドキュメントをFlash Player 6、7または8を対象にコンパイルでき、そのドキュメントは正しく動作します。その理由は、ActionScript 1.0とActionScript 2.0のどちらも同じバイトコード(Flash PlayerのActionScriptインタープリタで読み込まれるコード)にコンパイルされるからです。ただし、Flash Playerのそれぞれの新規バージョンには、新しいActionScript API(関数、クラス、プロパティおよびメソッド)が導入されています。例えば、MovieClipクラスのloadMovie メソッドは、Flash Player 6、7および8で動作しますが、MovieClipLoaderクラスはFlash Player 7と8でしか動作しません。つまり、これらPlayerのいずれのバージョンにもActionScript 1.0またはActionScript 2.0を使用できますが、使用するAPIがターゲットのPlayerのバージョンでサポートされていることを確認する必要があります。

ActionScript 1.0とActionScript 2.0のいずれも大文字と小文字を区別しません。ただし、Flash Player 7とFlash Player 8には、大文字と小文字の区別があります。つまり、ActionScript 1.0または2.0のいずれを使用しているかに無関係に、変数userNameとUserNameは、Flash Player 6では同一の変数として扱われ、Flash Players 7と8では別の変数として扱われます。

データの理解

データとは、Flash内で操作できる数値、ストリングやその他の情報を指します。アプリケーションやWebサイトの作成時に、データの使用は通常欠かせません。高度なグラフィックやスクリプトで生成したアニメーションの作成時にも、データを使用しますが、エフェクトの駆動に使用する値を操作する必要があります。

Flash内の変数でデータを定義したり、XML、Webサービスなどを使用して外部ファイルやサイトからデータをロードしたりできます。データをデータベースに格納してから、その情報をいくつかの方法でSWFファイルで表現することもできます。その中には、テキストフィールドやコンポーネントでの情報の表示、ムービークリップインスタンスでのイメージの表示などがあります。

データの種類で最も一般的なものとしては、ストリング(名前やテキストの一節など、一連の文字)、数値、オブジェクト(ムービークリップなど)、ブール値(trueとfalse)などがあります。

データ型

データ型とは、1つのデータおよびその上で実行できる操作の種類を示すものです。データは変数(後述の「変数」セクションを参照)に格納します。データ型は、変数、オブジェクトインスタンスおよび関数定義の作成時に使用して、作業するデータの型を割り当てます。ActionScriptの記述時には、多数の異なるデータ型を使用します。

データ型を使用して各種のデータを分類すると、データの使用方法を知ることができます。例えば、数値データでは演算を実行できますが、数値を回転しても無意味です。一方、ムービークリップは回転できますが、ムービークリップを別のムービークリップで乗算しても無意味です。

ActionScript 2.0では、変数のデータ型、パラメータおよび関数の戻り値の型を正式に指定し、そのコンテキストで使用できるデータの分類をFlashに通知できます。例えば、ある変数をストリングデータ型として宣言すると、その変数にストリングのみ割り当てることができます。この変数に数値を割り当てようとすると、Flashではコンパイラエラーが表示されます。

ActionScriptのデータ型には、プリミティブ型と複合型の2つの基本的な分類があります。

  • プリミティブ値(またはプリミティブデータ型)とは、ActionScriptで最下位レベルで抽象化されて格納される値です。つまり、プリミティブデータ型での操作は、一般的に複合データ型で実行される操作より速く効率的です。例えば、ブール値、数値およびストリング値は、null値や未定義値と同様、すべてプリミティブデータ型です。
  • 複合値(または複合データ型)とは、非プリミティブ値でプリミティブ値を参照する値です。リファレンスデータ型とも呼ばれます。複合値は、オブジェクトデータ型またはオブジェクトデータ型に基づくデータ型に属します。複合値のセットを定義するデータ型には、配列、日付、ボタン、ムービークリップ、XMLなどがあります。これらの複合データ型について詳しくは、Flash LiveDocsの『ActionScript 2.0リファレンスガイド』の該当する項目を参照してください。

プリミティブデータ型を含む変数の動作は、状況によっては、複合型を含む変数の動作と異なることがあります。詳しくは、Flash LiveDocsの次のセクションを参照してください。

  • 「変数について」
    (ActionScript 2.0の学習/データおよびデータ型/変数について)
  • 「プロジェクトでの変数の使用」(ActionScript 2.0の学習/データおよびデータ型/変数について/プロジェクトでの変数の使用)
  • Flashアプリケーションで使用できる基本的なデータ型については、「プリミティブデータ型および複合データ型について」を参照してください
    (ActionScript 2.0の学習/データおよびデータ型/データ型について/プリミティブデータ型および複合データ型について)。

すべてのデータ型とクラスの定義については、Flash LiveDocsの『ActionScript 2.0リファレンスガイド』を参照してください。

変数

変数は情報を保持するコンテナです。次のActionScriptは、ActionScriptでの変数の表記方法を示しています。

var myVariable:Number = 10;

この変数は数値を保持します。前述のコードでは、:Numberを使用して、変数が保持する値のタイプを割り当てています。これはデータ型指定と呼ばれます。データ型指定について詳しくは、後述の「データ型の割り当て」を参照してください。

コンテナ(変数名で表される)は、ActionScriptを通じて常に同一ですが、その内容(値)は変わる可能性があります。スクリプト内の変数の値は、必要に応じて何回でも変更できます。SWFファイルの再生中に変数の値を変更すると、ユーザが行った操作に関する情報の記録と保存、SWFファイルの再生中に変わる値の記録または条件がtrueかfalseかの評価を行うことができます。Flashゲームでプレーヤーの得点が変わる際など、SWFファイルの再生中に変数を絶えず更新する必要があります。SWFファイルにユーザのインタラクションを作成し処理する場合、変数は欠かせません。

変数にはさまざまなデータ型を保持できます。詳しくは、LiveDocsの「データ型について」(ActionScript 2.0の学習/データおよびデータ型/データ型について)を参照してください。変数が格納するデータ型は、スクリプトで変数値を割り当てるときに、その値の変わり方に影響します。

変数に格納できる一般的な情報の種類としては、URL(String型)、ユーザ名(String型)、演算結果(Number型)、イベントの発生回数(Number型)、特定のボタンをユーザがクリックしたかどうか(Boolean型)などが挙げられます。各SWFファイルとオブジェクトインスタンス(ムービークリップなど)には変数のセットがあり、それぞれの変数には、他のSWFファイルやムービークリップ内の変数と独立した値が設定されています。

変数の値を表示するには、trace()ステートメントを使用して値を出力パネルに送信します。テスト環境でSWFファイルをテスト時に、値が出力パネルに表示されます。例えば、trace(hoursWorked)と指定すると、テスト環境で変数hoursWorkedの値が出力パネルに送信されます。変数の値は、テスト環境のデバッガでも確認し設定できます。

変数について詳しくは、Flashドキュメントの『ActionScript 2.0の学習』の「変数について」セクションの次のトピックを参照してください(FlashのヘルプおよびFlash LiveDocsのActionScript 2.0の学習/データおよびデータ型/変数についてで利用できます)。

  • 変数の宣言について
  • 値の割り当てについて
  • 変数の命名について
  • アプリケーションでの変数の使用
  • 変数とスコープについて
  • 変数のロードについて
  • プロジェクトでの変数の使用

データ型の割り当て

変数の作成時に、変数のオブジェクト型を明示的に宣言できます。これは厳密な型指定と呼ばれます。項目を数値、ストリングまたは別のデータ型を保持するものとして明示的に定義しない場合、Flash Playerでは、割り当て時(実行時)に項目のデータ型を判別しようとします。厳密な型指定とその例については、Flashドキュメントの『ActionScript 2.0の学習』の「データ型について」セクションの次のトピックを参照してください(FlashのヘルプおよびFlash LiveDocsのActionScript 2.0の学習/データおよびデータ型/データ型についてで利用できます)。

  • 「データ型の割り当てと厳密な型指定について」とそのサブセクション「データ型の割り当て」
  • 「型チェックについて」

シンタックスとステートメントについて

ActionScriptのシンタックスとステートメントの学習は、単語を組み合わせて文章を作成し、それらの文章をまとめて段落にする方法を学習するのと似ています。ActionScriptでも同様にシンプルにできます。例えば、英語の場合、ピリオドで文章を終了します。ActionScriptでは、セミコロンでステートメントを終了します。ActionScript言語では、ムービークリップインスタンスまたはSWFファイルの再生ヘッドのループを停止するために、stop()アクションを入力できます。または、数千行のコードを記述して、インタラクティブなバンキングアプリケーションを動作させることもできます。ActionScriptでは、非常に単純な操作や非常に複雑な操作を行うことができます。

 

「データの理解」セクションでは、ActionScript言語でのデータの使用方法およびシンタックスのフォーマット方法について学習しました。このセクションでは、シンタックスを使用したActionScriptでのステートメントの作成方法について説明します。ここでは、基本的な言語概念を説明する多くの短いコードやいくつかの例を取り上げます。以降のセクションでは、この章で学習する基本概念を組み合わせて発展させた、もっと長く入り組んだコード例を示します。

このセクションで説明する全般的な規則は、すべてのActionScriptに適用されます。ActionScriptのほとんどの用語にも個別の要件があります。特定の用語の規則については、Flash LiveDocsの『ActionScript 2.0の学習』の「用語」セクションまたは『ActionScript 2.0リファレンスガイド』の個々のエントリを参照してください(Flashドキュメントに含まれている『ActionScript 2.0リファレンスガイド』は、ActionScriptを使用する開発者の中心的なリファレンスまたは辞書です)。ActionScriptの基本機能を適用して洗練されたプログラムを作成することは、ActionScriptの初心者にとって骨の折れることです。このセクションで説明する規則の適用方法について詳しくは、「ActionScript 2.0 のベストプラクティスとコーディング規則」(ActionScript 2.0の学習/ActionScript 2.0 のベストプラクティスとコーディング規則)を参照してください。

言語エレメントの確認

ActionScript言語は、ActionScript言語を構成するビルトインクラスから構成されています。正しいActionScriptシンタックスを使用してステートメントを作成し、コードがFlash内で正しくコンパイルされ実行される必要があります。この場合、シンタックスでは、プログラミングに使用する言語の文法とスペリングを参照します。コンパイラは不正なシンタックスを理解できないため、テスト環境でドキュメントをテストすると、出力パネルにエラーや警告が表示されます。このため、シンタックスは、ActionScriptの正しい作成を支援する規則とガイドラインの集まりとなります。

ステートメントとは、特定のアクションの実行など何らかの操作を実行するためにFLAファイルに与える命令です。例えば、条件式を使用すると、何らかの項目がtrueか、または存在するかを判別できます。その後条件がtrueかどうかに基づいて、関数や式などの指定したアクションを実行できます。ifステートメントは条件式で、条件を評価してコードで実行する次のアクションを決定します。

// ifステートメント if (condition) { // ステートメント; }

式は、ステートメントとは異なり、値を表すActionScript記号を適正に組み合わせたものです。式には値があり、値とプロパティには型があります。式は、演算子とオペランド、値、関数およびプロシージャで構成できます。式は、優先し関連するActionScriptの規則に従います。通常、Flash Playerは式を解釈して、アプリケーションで使用可能な値を返します。例えば、次のコードは式です。

x + 2

前述の式のxと2はオペランドであり、+は演算子です。演算子とオペランドについて詳しくは、Flash LiveDocsのActionScript 2.0の学習/シンタックスと言語の基礎/演算子についてのセクションを参照してください。演算子とオペランドについて詳しくは、Flash LiveDocsのActionScript 2.0の学習/データおよびデータ型/データ型についてのセクションを参照してください。

ActionScriptのフォーマット方法によって、コードの保守可能性も決まります。例えば、インデントやコメントを含まないFLAファイルまたは一貫性のないフォーマット規則や命名規則を含むFLAファイルのロジックは、読みにくくなります。ActionScriptのブロック(ループやifステートメントなど)にインデントを設定すると、問題が発生した場合に、コードが読みやすくデバッグしやすくなります。ActionScriptのフォーマットについて詳しくは、Flash LiveDocsのActionScript 2.0の学習/ActionScript 2.0 のベストプラクティスとコーディング規則/ActionScriptシンタックスのフォーマットのセクションを参照してください。

ActionScriptでは、ステージ上のオブジェクトやインスタンスに属するプロパティやメソッドにアクセスするために、ドット(.)演算子(ドットシンタックス)を使用します。ドット演算子を使用すると、インスタンス(ムービークリップなど)、変数、関数またはオブジェクトへのターゲットパスを特定することもできます。ドットシンタックス式は、オブジェクト名またはムービークリップ名で始まり、次にドットが続き、指定するエレメントで終了します。次のセクションでは、ドットシンタックス式の記述方法について説明します。

ムービークリップ、ロードしたムービーまたはボタンを制御するには、ターゲットパスを指定する必要があります。ターゲットパスとは、SWFファイル内のムービークリップインスタンス名、変数およびオブジェクトの階層アドレスです。ムービークリップまたはボタンのターゲットパスを指定するには、ムービークリップやボタンにインスタンス名を割り当てる必要があります。ムービークリップインスタンスに名前を付けるには、インスタンスを選択し、プロパティインスペクタでインスタンス名を入力します。ActionScriptを使用してインスタンスを作成した場合は、コードでインスタンス名を指定することもできます。ターゲットパスを使用すると、アクションをムービークリップに割り当てたり、変数やプロパティの値を取得または設定することができます。

インスタンス名の割り当て方法とドットシンタックスによるインスタンスのターゲット指定方法について詳しくは、Flash LiveDocsの「ドットシンタックスを使用したインスタンスのターゲット化について」(ActionScript 2.0の学習/シンタックスと言語の基礎/ドットシンタックスとターゲットパスについて/ドットシンタックスを使用したインスタンスのターゲット化について)および「About Scope and Targeting」(ActionScript 2.0の学習/シンタックスと言語の基礎/ドットシンタックスとターゲットパスについて/スコープとターゲット化について)のセクションを参照してください。

メモ:Flash Player 7以降でActionScriptを記述する場合、コードには大文字と小文字の区別があります。つまり、大文字の使用方法が少し異なる変数は、お互いに別の変数と見なされます。

区切子とは、ActionScriptコードの作成時に役立つ文字です。Flashには複数の区切子があります。区切子で最も一般的なタイプは、セミコロン(;)、コロン(:)、括弧[()]および波カッコ({})です。これらの各区切子は、ActionScript言語では特別な意味を持ち、データ型の定義、ステートメントの終了またはActionScriptの構造化に役立ちます。詳しくは、「About Language Punctuators」(ActionScript 2.0の学習/シンタックスと言語の基礎/言語区切子について )を参照してください。

定数とは、変更不可の固定値を持つプロパティであり、アプリケーションを通じて変わらない値です。Flashには、アプリケーション開発の単純化に役立つ定義済みの定数がいくつか用意されています。定数の例はKeyクラスにあります。このクラスには、Key.ENTERやKey.PGDNなど多数のプロパティがあります。定数を使用すると、EnterキーとPage Downキーのキーコード値がそれぞれ13と34であることを覚えておく必要がなくなります。定数を使用すると、開発やデバッグが容易になるだけでなく、作成するコードが同僚の開発者にとって読みやすくなります。詳細については、Flash LiveDocs の「定数およびキーワードについて」(ActionScript 2.0の学習/シンタックスと言語の基礎/定数およびキーワードについて)のセクションを参照してください。

ActionScriptのキーワードは、特定の種類のアクションを実行するために使用されます。これらは予約語でもあるため、識別子(変数、関数、ラベル名など)としては使用できません。予約語の例としては、if、else、this、function、returnなどがあります。詳細については、Flash LiveDocs の「キーワードについて」(ActionScript 2.0の学習/シンタックスと言語の基礎/定数およびキーワードについて/キーワードについて)のセクションを参照してください。

配列とは、そのプロパティが構造内の位置を表す数値で特定されるオブジェクトです。配列は、基本的には項目のリストです。一部の言語と異なり、ActionScriptでは、配列内の各エレメントを同じデータ型にする必要はありません。数値、日付、ストリングおよびオブジェクトを混在させたり、各配列インデックスでネストされた配列を追加することもできます。詳細については、Flash LiveDocs の「配列について」(ActionScript 2.0の学習/シンタックスと言語の基礎/配列について)のセクションを参照してください。

演算子とは、式内の値の組み合わせ、比較または変更方法を指定する文字です。式とは、Flashで評価できる任意のステートメントで値を返します。式を作成するには、演算子と値を組み合わせるか、関数を呼び出します。詳細については、Flash LiveDocs の「シンタックス、ステートメント、および式について」(ActionScript 2.0の学習/シンタックスと言語の基礎/シンタックス、ステートメント、および式について)のセクションを参照してください。

例えば、数式は、数値演算子を使用して使用する値を操作します。演算子文字の例としては、+、<、*、=などがあります。式は演算子とオペランドから構成され、値を表すActionScript記号を適正に組み合わせたものです。オペランドとは、演算子がアクションを実行する対象となるコードの一部です。例えば、x + 2という式では、xと2がオペランドで、+が演算子となります。詳細については、Flash LiveDocs の「演算子について」(ActionScript 2.0の学習/シンタックスと言語の基礎/演算子について)のセクションを参照してください。

シンタックスとステートメントについては、Flash LiveDocsの次のセクションを参照してください。

  • ステートメントについて
    (ActionScript 2.0の学習/シンタックスと言語の基礎/ステートメントについて)
  • ドットシンタックスとターゲットパスについて
    (ActionScript 2.0の学習/シンタックスと言語の基礎/ドットシンタックスとターゲットパスについて)
  • 用語
    (ActionScript 2.0の学習/用語)

イベントの処理

イベントとは、SWFファイルの再生中に発生するアクションです。マウスクリックやキープレスなどのイベントは、ユーザイベントと呼ばれます。直接的なユーザインタラクションの結果として発生するためです。ステージ上のムービークリップの最初の外観など、Flash Playerで自動的に生成されるイベントは、システムイベントと呼ばれます。ユーザによって直接生成されないためです。

アプリケーションがイベントに対応するには、イベントハンドラ、つまり特定のオブジェクトとイベントに関連付けられたActionScriptコードを使用する必要があります。例えば、ユーザがステージ上のボタンをクリックしたときに、再生ヘッドを次のフレームに進めることもできます。または、ネットワーク経由でXMLファイルのロードが完了したときに、そのファイルの内容をテキストフィールドに表示することもできます。

ActionScriptでのイベントの処理方法は、イベントのタイプに応じて変えることができます。次に、ActionScriptでのイベントの処理方法をリストします。次の方法すべてが、すべてのイベントタイプに適用されるわけではありません。

  • イベントハンドラのメソッドの使用
  • イベントリスナーの使用
  • ボタンとムービークリップのイベントハンドラの使用(特にonハンドラとonClipEventハンドラ)
  • コンポーネントインスタンスからのイベントのブロードキャスト

ボタンとムービークリップのイベントハンドラを使用することは、コードをオブジェクトに関連付ける必要があるため、お勧めできません。代わりに、ベストプラクティスとして、可能な限りイベントハンドラのメソッドを使用して、コードをタイムライン上のフレームスクリプトまたはクラスファイルに配置します。

メモ:イベントハンドラとMovieClip.loadMovieメソッドの併用は、予測不可能な場合があります。on()を使用してイベントハンドラをボタンに関連付ける場合、またはMovieClip.onPressハンドラなどのイベントハンドラメソッドを使用して動的ハンドラを作成してから、loadMovie()を呼び出す場合、新しい内容のロード後にイベントハンドラが使用できなくなります。ただし、onClipEventハンドラまたはonハンドラを使用してイベントハンドラをムービークリップに関連付けてから、ムービークリップ上でloadMovie()を呼び出す場合、新しい内容のロード後でもイベントハンドラは使用できます。

イベントハンドラのメソッド

イベントハンドラのメソッドは、該当するクラスのインスタンス上でイベントが発生したときに起動される、クラスのメソッドです。例えば、MovieClipクラスは、ムービークリップオブジェクト上でマウスが押されたときに常に起動される、onPressイベントハンドラを定義します。ただし、クラスの他のメソッドとは異なり、イベントハンドラを直接起動することはしません。該当するイベントの発生時に、Flash Playerによって自動的に起動されます。

イベントハンドラを定義するクラスの例としては、次のActionScriptクラスがあります。Button、ContextMenu、ContextMenuItem、Key、LoadVars、LocalConnection、Mouse、MovieClip、MovieClipLoader、Selection、SharedObject、Sound、Stage、TextField、XMLおよびXMLSocket。これらのクラスに用意されているイベントハンドラについて詳しくは、『ActionScript 2.0リファレンスガイド』の各クラスのエントリを参照してください。各イベントハンドラのタイトルには、handlerという語を追加することに注意してください。

デフォルトでは、イベントハンドラは未定義です。特定のイベントが発生した場合、対応するイベントハンドラが起動されますが、アプリケーションはそれ以上イベントに応答しません。アプリケーションがイベントに応答するようにするには、関数ステートメントで関数を定義してから、その関数を該当するイベントハンドラに割り当てます。そうすると、イベントの発生時に常にイベントハンドラに割り当てた関数が自動的に起動されます。

イベントハンドラは、イベントがオブジェクトのイベントハンドラメソッド名を適用するオブジェクト、イベントハンドラに割り当てる関数、およびコードの3つの部分で構成されています。次の例は、イベントハンドラの基本的な構造を示しています。

object.eventMethod = function ():Void { // イベントに応答するコードをここに記述 };

例えば、ステージ上にnext_btnという名前のボタンがあるとします。次のコードは、関数をボタンのonPressイベントハンドラに割り当てています。この関数は、再生ヘッドを現在のタイムラインの次のフレームに進めます。

next_btn.onPress = function ():Void { nextFrame(); };

関数参照の割り当て、イベントハンドラに渡されるパラメータの受け取り、関数のイベントハンドラへの割り当ておよびメソッドのオーバーライドを行うことができます。これらのトピックについて詳しくは、Flash LiveDocsの次のセクションを参照してください。イベントハンドラメソッドの使用(ActionScript 2.0の学習/イベントの処理/イベントハンドラメソッドの使用)


イベントリスナー

イベントリスナーを使用すると、リスナーオブジェクトと呼ばれるオブジェクトが、ブロードキャストオブジェクトと呼ばれる別のオブジェクトによってブロードキャストされるイベントを受け取ることができます。ブロードキャストオブジェクトは、ブロードキャストにより生成されるイベントを受け取るリスナーオブジェクトを登録します。例えば、ステージからonResize通知を受け取るムービークリップオブジェクトを登録するか、ボタンインスタンスでテキストフィールドオブジェクトからonChanged通知を受け取ることもできます。1つのブロードキャストからイベントを受け取る複数のリスナーオブジェクトを登録したり、複数のブロードキャスターからイベントを受け取る1つのリスナーオブジェクトを登録したりできます。

イベントのリスナー/ブロードキャスターモデルでは、イベントハンドラのメソッドとは異なり、複数のコードで競合なしに同じイベントをリッスンできます。XML.onLoad()などのリスナー/ブロードキャスターモデルを使用しないイベントモデルでは、各種のコードが同じイベントをリッスンしている場合、問題を起こす可能性があります。別のコードが、その1つのXML.onLoadコールバック関数参照の制御で競合します。リスナー/ブロードキャスターモデルを使用すると、コードのボトルネックを心配せずにリスナーを同じイベントに簡単に追加できます。

メモ:Key、Mouse、MovieClipLoader、Selection、StageおよびTextFieldのActionScriptクラスは、イベントをブロードキャストできます。クラスに使用できるリスナーを確認するには、Flash LiveDocsの『ActionScript 2.0リファレンスガイド』の各クラスのエントリを参照してください。

イベントリスナーモデル

イベントリスナーのイベントモデルは、次の2つの大きな違いを除き、イベントハンドラ(「イベントハンドラのメソッドの使用」を参照)のモデルと似ています。

  • イベントハンドラは、イベントをブロードキャストするオブジェクトでなく、リスナーオブジェクトに割り当てます。
  • ブロードキャストオブジェクトの特別なメソッド、addListener()を呼び出します。このメソッドは、イベントを受け取るリスナーオブジェクトを登録します。

次のコードは、イベントリスナーモデルの概要を示しています。

var listenerObject:Object = new Object(); listenerObject.eventName = function(eventObj:Object):Void { // コードをここに記述 }; broadcasterObject.addListener(listenerObject);

このコードは、eventNameプロパティを持つオブジェクトlistenerObjectで始まっています。リスナーオブジェクトとしては、ステージ上の既存のオブジェクト、ムービークリップ、ボタンインスタンスなど任意のオブジェクトまたは任意のActionScriptクラスのインスタンスを指定できます。例えば、カスタムムービークリップで、ステージリスナーのリスナーメソッドを実装することもできます。複数のタイプのリスナーをリッスンする1つのオブジェクトを持つこともできます。


eventNameプロパティはbroadcasterObject上で発生するイベントで、イベントはその後broadcasterObjectによってlistenerObjectにブロードキャストされます。1つのイベントブロードキャストに複数のリスナーを登録できます。

関数は、イベントに何らかの方法で応答するイベントリスナーに割り当てます。

最後に、ブロードキャストオブジェクト上でaddListener()メソッドを呼び出し、リスナーオブジェクトをaddListener()メソッドに渡します。

イベント受け取るリスナーオブジェクトの登録を解除するには、ブロードキャストオブジェクトのremoveEventListener()メソッドを呼び出し、削除するイベント名とリスナーオブジェクトを渡します。

broadcasterObject.removeListener(listenerObject);

イベントリスナーの使用例については、Flash LiveDocsの「イベントリスナーの使用」(ActionScript 2.0の学習/イベントの処理/イベントリスナーの使用)のセクションを参照してください。

イベント処理について詳しくは、Flash LiveDocsの『ActionScript 2.0の学習』の「イベントの処理」セクション内を参照してください。

  • 「コンポーネントでのイベントリスナーの使用」
  • 「コンポーネントインスタンスからのイベントのブロードキャスト」
  • 「ボタン状態を持つムービークリップの作成」
  • 「イベントハンドラのスコープ」
  • 「this キーワードのスコープ」
  • 「Delegate クラスの使用」

オブジェクト指向プログラミング

ActionScript 2.0は完全なオブジェクト指向プログラミング(OOP)言語で、特に大規模なFlashアプリケーションやプレゼンテーションの作成時にいくつかの利点があります。OOPでは再利用を促進できます。ActionScript 2.0で作成したクラスを再利用するには、そのクラスの機能を他のクラスで継承します。OOPのモジュール性によって、アプリケーションの構造を変更せずに、アプリケーションのコンポーネントを置き換えまたはスワップできます。最後に、OOP設計の基本的なメタファーによって、自然界(内部状態を持ち特定の事項を実行できるオブジェクト)が綿密にミラーリングされるため、アプリケーションの設計プロセスが速く簡単になります。

OOP言語は、ActionScriptと同様にクラスとインスタンスに基づいています。クラスは、一連のオブジェクトを区別するすべてのプロパティ、オブジェクトのカテゴリを定義します。クラスは、オブジェクトのプロパティ(データ)とメソッド(ビヘイビア)を記述します。建築用の設計図がビルの特性を記述しているのとよく似ています。Dateクラスは、固有のActionScriptクラスです。Dateクラスを使用すると、多くのインスタンスを作成できます。各インスタンス、つまりDateオブジェクトは、異なる(または同じ)日付を表すことができます。例えば、2010年8月1日を表すDateオブジェクトと2010年8月2日を表す別のDateオブジェクトを作成できます。各オブジェクトは、Dateクラスから同じ機能を継承します。ただし、各インスタンスは、同じ設計図で建てられた2つのビルがそれぞれ固有のインスタンスであるように、独立したオブジェクトです。

クラスはデータ型を定義します(「データの理解」セクションを参照)。アプリケーションに既存のデータ型と相容れないデータの新しい論理的分類がある場合は、新しいクラスを記述できます。例えば、Tシャツを陳列するアプリケーションを作成する場合、色やスタイルなどそのデータ型の特性を定義するTShirtクラスを記述できます。クラスを定義するには、外部スクリプトファイルでclassキーワードを使用します。Flashオーサリングツールで外部スクリプトファイルを作成するには、ファイル/新規/ActionScriptファイルを選択します。

ActionScript 2.0には、例のごとく、Javaなど他のプログラミング言語にある強力で使い慣れたいくつかのOOP概念とキーワード(class、interface、packageなど)が備わっています。このプログラミング言語を使用すると、再利用可能で拡大/縮小でき、信頼性の高い保守可能なプログラム構造を構築できます。ユーザに完全なコーティング支援とデバッグ情報を提供することで、開発時間を短縮することもできます。ActionScript 2.0を使用すると、オブジェクトを作成して継承を確立し、カスタムクラスを作成してFlashでトップレベルクラスとビルトインクラスを拡張できます。

Flash Basic 8とFlash Professional 8には、約65個のトップレベルクラスがあります。これらのクラスには、中核のデータ型(Array、Boolean、Dateなど)からカスタムエラーやイベントまでのすべてと共に、外部コンテンツ(XML、イメージ、変数など)をロードするいくつかの方法が用意されています。独自のカスタムクラスを記述してそれらをFlashドキュメントに統合するか、トップレベルクラスを拡張して独自の機能を追加したり、既存の機能を変更したりできます。例については、Flash LiveDocsのActionScript 2.0の学習/クラス/アプリケーションでのカスタムクラスの使用について/クラスメンバーについてのセクションのチュートリアルを参照してください。このチュートリアルは、人物のnameとageのカスタムプロパティを含む、カスタムPersonクラスの作成方法を説明しています。その後、このカスタムクラスをドキュメントの新しいデータ型として扱って、new演算子を使用してクラスの新しいインスタンスを作成できます。

カスタムクラスを外部ActionScript(AS)ファイルに記述し、FLAファイルのコンパイル時にアプリケーションに読み込むことができます。クラスは、大規模なFlashアプリケーションの作成時に非常に役に立ちます。アプリケーションにある多数の複雑な部分を外部クラスファイルに整理できるためです。たくさんのロジックをカスタムクラスに移動すると、コードの再利用を容易にできるだけでなく、一部のメソッドやプロパティをActionScriptコードの他の部分から「隠す」こともできます。これにより、チームの他の開発者が機密情報にアクセスしたり、変更不可のデータを変更したりするのを防止できます。

クラスを使用する場合、既存のクラスを拡張して、新しい機能を追加したり既存の機能を変更したりできます。例えば、3つの非常によく似たクラスを作成する場合、まずベースクラス(抽象)を記述し、その後ベースクラスを拡張した3つのクラス(実装)を記述します。これら3つのサブクラスはメソッドやプロパティを追加できるため、同じコードとロジックをすべて複製した3つのクラスファイルを作成する必要はありません。

クラスを使用するもう1つの利点は、コードの再利用性です。例えば、Drawing APIを使用してカスタムのプログレスバーを作成するカスタムクラスを作成する場合、プログレスバークラスをクラスパスに保存し、カスタムクラスを読み込むことですべてのFlashドキュメントで同じコードを再利用できます。クラスパスの設定について詳しくは、「クラスファイルの読み込みについて」および「クラスパスの設定と修正について」を参照してください。

OOPの原則の概要については、Flash LiveDocsの「Object-Oriented Programming Fundamentals」(ActionScript 2.0の学習/クラス/オブジェクト指向プログラミングと Flash について/オブジェクト指向プログラミングの基礎)のセクションを参照してください。

OOPおよびカスタムクラスファイルの記述について詳しくは、Flash LiveDocsの「ActionScript 2.0の学習」の「クラス」の次のトピックを参照してください。

  • 「カスタムクラスファイルの記述」
  • 「アプリケーションでのカスタムクラスの使用について」
  • 「アプリケーションでのカスタムクラスの使用について」/「クラスファイルの読み込みについて」
  • 「例:カスタムクラスの記述」
  • 「例:Flashでのカスタムクラスファイルの使用」
  • 「クラスのコンパイルと書き出し」

次のステップ

次の書籍とリソースは、ActionScriptの高度なトピックやオブジェクト指向プログラミングについて学習する際に役立ちます。

 

書籍の抜粋:

  • 「Object-Oriented ActionScript」(「Essential ActionScript 2.0」(Colin Moock著)の抜粋)
  • 「The Model-View-Controller Design Pattern」(「Essential ActionScript 2.0」(Colin Moock著)の抜粋)
  • 「Using Components」(「Essential ActionScript 2.0」(Colin Moock著)の抜粋)

推奨される書籍:

  • 「Essential ActionScript 2.0」(Colin Moock著、発行元:O'Reilly)
  • 「Macromedia Flash MX 2004 ActionScript:Training from the Source」(Derek Franklin、Jobe Makar共著、発行元:Macromedia Press)

 

製品

  • Acrobat
  • Creative Cloud
  • Creative Suite
  • Digital Marketing Suite
  • Digital Publishing Suite
  • Elements
  • モバイルアプリ
  • Photoshop
  • Touch Apps

ソリューション

  • デジタルマーケティング
  • コンテンツオーサリング
  • Web Experience Management

業種別ソリューション

  • 教育
  • 金融機関

サポート

  • ヘルプ&サポート
  • 注文と返品
  • ダウンロードに関するヘルプ
  • ユーザー登録に関するヘルプ

ラーニング

  • ADC: Adobe Developer Center
  • Adobe TV
  • Design Magazine
  • Photoshop Magazine
  • Focus In

ご購入方法

  • アドビストア
  • アカデミックストア
  • アドビライセンスストア
  • ボリュームライセンスについて
  • 販売パートナー
  • キャンペーン情報

ダウンロード

  • Adobe Reader
  • Adobe Flash Player
  • Adobe AIR
  • Adobe Shockwave Player

会社情報

  • プレスルーム
  • パートナープログラム
  • 企業の社会的責任(英語)
  • 採用情報
  • 投資家の皆様へ(英語)
  • イベント&セミナー
  • Legal(英語)
  • セキュリティ
  • お問い合わせ
国・地域および言語の選択 日本(変更)
国・地域および言語の選択 閉じる

North America

Europe, Middle East and Africa

Asia Pacific

  • Canada - English
  • Canada - Français
  • Latinoamérica
  • México
  • United States

South America

  • Brasil
  • Africa - English
  • Österreich - Deutsch
  • Belgium - English
  • Belgique - Français
  • België - Nederlands
  • България
  • Hrvatska
  • Česká republika
  • Danmark
  • Eastern Europe - English
  • Eesti
  • Suomi
  • France
  • Deutschland
  • Magyarország
  • Ireland
  • Israel - English
  • ישראל - עברית
  • Italia
  • Latvija
  • Lietuva
  • Luxembourg - Deutsch
  • Luxembourg - English
  • Luxembourg - Français
  • الشرق الأوسط وشمال أفريقيا - اللغة العربية
  • Middle East and North Africa - English
  • Moyen-Orient et Afrique du Nord - Français
  • Nederland
  • Norge
  • Polska
  • Portugal
  • România
  • Россия
  • Srbija
  • Slovensko
  • Slovenija
  • España
  • Sverige
  • Schweiz - Deutsch
  • Suisse - Français
  • Svizzera - Italiano
  • Türkiye
  • Україна
  • United Kingdom
  • Australia
  • 中国
  • 中國香港特別行政區
  • Hong Kong S.A.R. of China
  • India - English
  • 日本
  • 한국
  • New Zealand
  • 台灣

Southeast Asia

  • Includes Indonesia, Malaysia, Philippines, Singapore, Thailand, and Vietnam - English

Copyright © 2012 Adobe Systems Incorporated. All rights reserved.

利用条件 | プライバシーポリシーとCookie (更新)

Reviewed by TRUSTe: site privacy statement