外部 API の使用の概要
SWF プロジェクタ作成時など、SWF ファイルが単独で実行されることもありますが、ほとんどの場合、SWF アプリケーションは他のアプリケーションの埋め込みエレメントとして実行されます。通常、SWF が含まれているコンテナは HTML ファイルですが、まれにデスクトップアプリケーションのユーザーインターフェイスの全部または一部として SWF ファイルが使用されることがあります。
より高度なアプリケーションで作業するようになると、SWF ファイルとコンテナアプリケーションの間の通信設定が必要になる場合があります。例えば、一般的には、Web ページで HTML 形式でテキストその他の情報を表示し、SWF ファイルでチャートやビデオなどの動的かつ視覚的なコンテンツを表示します。こうした事例では、ユーザーが Web ページ上のボタンを押したときに SWF ファイルが変更されるようにする必要性が考えられます。ActionScript に含まれる外部 API というメカニズムにより、SWF ファイル内の ActionScript とコンテナアプリケーションに含まれるその他のコードとの間において、このような通信が容易になります。
外部 API の一般的なタスク
この章では、次のような外部 API の一般的なタスクについて説明します。
- コンテナアプリケーションに関する情報の取得
- コンテナアプリケーション(Web ページやデスクトップアプリケーションなど)における ActionScript を使用したコードの呼び出し
- コンテナアプリケーション内のコードからの ActionScript コードの呼び出し
- コンテナアプリケーションからの ActionScript コードの呼び出しを簡易化するプロキシの作成
重要な概念と用語
この章で使用する重要な用語を次に示します。
- ActiveX コンテナ:アプリケーション内で SWF コンテンツを表示するための、Flash Player ActiveX コントロールのインスタンスが含まれるコンテナアプリケーション(Web ブラウザではない)。
- コンテナアプリケーション:Flash Player によって内部で SWF ファイルが実行されるアプリケーション。Flash Player コンテンツを含む Web ブラウザや HTML ページなど。
- プロジェクタ:スタンドアローンの実行可能ファイルに変換された SWF ファイル。Flash Player および SWF ファイルのコンテンツを含みます。プロジェクタは、Adobe Flash CS3 Professional またはスタンドアローンの Flash Player を使用して作成します。プロジェクタは通常、SWF ファイルを CD-ROM で配布する場合や、ダウンロードサイズが問題でないときに、ユーザーのコンピュータに Flash Player がインストールされているかどうかに関わらず SWF ファイルを確実に実行できるようにしたい場合などに使用されます。
- プロキシ:あるアプリケーション(「外部アプリケーション」)のコードを他のアプリケーション(「呼び出しアプリケーション」)に代わって呼び出し、呼び出しアプリケーションに値を返す、仲介者となるアプリケーションまたはコード。プロキシは次のような様々な目的で使用されます。
- 呼び出しアプリケーションにおけるネイティブ関数の呼び出しを、外部アプリケーションで理解可能なフォーマットに変換することにより、外部関数の呼び出しプロセスを簡単にする
- 呼び出し元と外部アプリケーションとの直接的な通信を防止する、セキュリティおよびその他の制約に対処する
- 直列化:オブジェクトやデータ値を、2 つのプログラミングシステム間(インターネット上、1 台のコンピュータで実行中の 2 つの異なるアプリケーション間など)でメッセージの形で値を受け渡しできるフォーマットに変換すること。