コンポーネントアーキテクチャ

Adobe® ActionScript® 3.0 コンポーネントは、Adobe® Flash Player バージョン 9.0.28.0 以降でサポートされます。Flash CS4 より前に作成されたコンポーネントとは互換性がありません。Adobe® ActionScript® 2.0 コンポーネントの使用について詳しくは、『 Adobe® ActionScript® 2.0 コンポーネントガイド 』および『 Adobe® ActionScript® 2.0 言語およびコンポーネントリファレンス 』を参照してください。

Adobe ActionScript 3.0 ユーザーインターフェイス(UI)コンポーネントは FLA ベースのコンポーネントとして実装されますが、Flash CS5 は SWC ベースのコンポーネントと FLA ベースのコンポーネントを両方ともサポートします。例えば、FLVPlayback コンポーネントと FLVPlaybackCaptioning コンポーネントは SWC ベースのコンポーネントです。 どちらのタイプのコンポーネントも Components フォルダーに配置して、コンポーネントパネルに表示することができます。 この 2 種類のコンポーネントは異なる方法で構築されるので、ここでは別々に説明しています。

ActionScript 3.0 FLA ベースのコンポーネント

ActionScript 3.0 ユーザーインターフェイス(UI)コンポーネントは、ビルトインスキンを持つ FLA ベース(.fla)のファイルです。ステージ上のコンポーネントをダブルクリックすることによってスキンにアクセスし、編集できます。 コンポーネントのスキンおよびその他のアセットは、タイムラインのフレーム 2 に配置されます。コンポーネントをダブルクリックすると、自動的にフレーム 2 に移動し、コンポーネントのスキンのパレットが開きます。次の図は、Button コンポーネントのスキンのパレットを示しています。

Button コンポーネントのスキン

コンポーネントスキンおよびコンポーネントのカスタマイズについて詳しくは、 UI コンポーネントのカスタマイズ および FLVPlayback コンポーネントのカスタマイズ を参照してください。

アプリケーションのコンパイルを高速化し、ActionScript 3.0 の設定とのコンフリクトを回避するために、Flash CS5 FLA ベースの UI コンポーネントには、コンポーネントのコンパイル済み ActionScript コードを含む SWC も含まれています。ComponentShim SWC は、ユーザーインターフェイスコンポーネントごとにフレーム 2 のステージに配置され、プリコンパイルされた定義を提供します。 ActionScript で利用できるようにするには、コンポーネントをステージまたはライブラリ内に配置し、そのリンケージプロパティの「最初のフレームに書き出し」オプションを選択しておく必要があります。 また、ActionScript を使用してコンポーネントを作成するには、 import ステートメントでそのクラスを読み込み、アクセスする必要があります。 import ステートメントについては、「 Adobe Flash Professional CS5 用 ActionScript 3.0 リファレンスガイド 」を参照してください。

SWC ベースのコンポーネント

SWC ベースのコンポーネントには、FLA ファイルおよび ActionScript クラスファイルが含まれていますが、コンパイルされ、SWC として書き込まれています。 SWC ファイルはプリコンパイルされた Flash シンボルと ActionScript コードのパッケージであり、これにより、変更されないシンボルとコードをリコンパイルする必要がなくなります。

FLVPlayback コンポーネントと FLVPlaybackCaptioning コンポーネントは SWC ベースのコンポーネントです。これらのコンポーネントには、ビルトインスキンではなく外部スキンが含まれています。FLVPlayback コンポーネントにはデフォルトのスキンがあり、このスキンは、デザイン済みスキンのコレクションから選択するか、コンポーネントパネルの UI コントロール (BackButton、BufferingBar など) からコントロールをカスタマイズするか、カスタムスキンを作成することによって変更できます。詳しくは、 FLVPlayback コンポーネントのカスタマイズ を参照してください。

Flash では、次のようにしてムービークリップをコンパイルされたクリップに変換できます。

ムービークリップのコンパイル

  • ライブラリパネルにあるムービークリップを右クリック (Windows) または Control キーを押しながらクリック (Macintosh) し、「コンパイルされたクリップに変換」を選択します。

    コンパイルされたクリップは、コンパイル前の通常のムービークリップと同じように動作しますが、表示やパブリッシュははるかに高速で処理されます。 コンパイルされたクリップを編集することはできませんが、そのプロパティはプロパティインスペクターとコンポーネントインスペクターに表示されます。

    SWC コンポーネントには、コンパイルされたクリップ、コンポーネントのプリコンパイルされた ActionScript 定義、およびこのコンポーネントについて記述したその他のファイルが含まれています。ユーザー独自のコンポーネントを作成した場合は、それを SWC ファイルとして書き出し、配布できます。

SWC ファイルの書き出し

  • ライブラリパネルにあるムービークリップを右クリック (Windows) または Control キーを押しながらクリック (Macintosh) し、「SWC ファイル書き出し」を選択します。

    注意: Flash CS4 以降の SWC ファイルの形式と Flex SWC 形式には互換性があるので、2 つの製品の間で SWC ファイルを交換可能ですが、変更が必要になることがあります。

SWC ベースのコンポーネントの作成について詳しくは、 www.adobe.com/go/learn_fl_creating_components_jp を参照してください。

ActionScript 3.0 コンポーネント API

各 ActionScript 3.0 コンポーネントは、パッケージフォルダーに置かれた ActionScript 3.0 クラスに基づいて構築され、名前の形式は fl.<パッケージ名>.<クラス名> になります。例えば、Button コンポーネントは Button クラスのインスタンスであり、そのパッケージ名は fl.controls.Button です。コンポーネントクラスをアプリケーションに読み込むときには、このパッケージ名を参照する必要があります。 次のステートメントで Button クラスを読み込みます。

import fl.controls.Button;

コンポーネントクラスファイルの場所について詳しくは、 コンポーネントファイルの操作 を参照してください。

コンポーネントのクラスは、メソッド、プロパティ、イベントおよびスタイルを定義します。アプリケーションの中ではこれらを使用してクラスとやり取りできます。ActionScript 3.0 UI コンポーネントは、Sprite クラスと UIComponent クラスのサブクラスであり、それらのクラスからプロパティ、メソッドおよびイベントを継承します。 Sprite クラスは、基本的な表示リスト構成要素であり、MovieClip に似ていますが、タイムラインはありません。 UIComponent クラスは、インタラクティブ、非インタラクティブを問わず、すべてのビジュアルコンポーネントの基本クラスです。 各コンポーネントの継承パスおよびプロパティ、メソッド、イベント、スタイルの説明は、「 Adobe Flash Professional CS5 用 ActionScript 3.0 リファレンスガイド 」にあります。

すべての ActionScript 3.0 コンポーネントが ActionScript 3.0 イベント処理モデルを使用します。 イベント処理について詳しくは、 イベント処理 および『ActionScript 3.0 のプログラミング』を参照してください。