fscommandとはなにか
ActionScript 3.0のExternal API使用により、Flash Playerの動作するWEBブラウザなどのコンテナアプリケーションとActionScriptなどとデータ通信が可能になり、External APIはFlash8以降のHTMLページまたはコンテナアプリケーション間の相互動作用 fscommand()機能に代わってかなり普及してきました。
External APIは同じ条件下であれば、fscommand()よりも機能の確実性も高いといわれています。
だからこそ、fscommad()について改めて学習してみました。
fscommand()とは、簡単にいえばswfファイルとJavaScriptなどとのデータの受け渡しに使用されるコマンドです。
ただJavaScriptのコールや、WEBブラウザのSafariやMacintosh版Internet Explorerでは正常動作しないようです。
fscommnadは、
『fscommand(コマンド,パラメータ)』
と記述されます。
fscommand() 関数には、commandとargumentsという2つの値(パラメータ)があり、 SWFファイルを直接フルスクリーンに拡大表示する場合のようなスタンドアローンプレーヤーでは、コマンドと引数の両方を指定する必要があります。
次の表は、プロジェクタなどのスタンドアローンプレーヤーで SWF ファイルの再生および外観を制御する場合に、fscommand() のパラメータ command と arguments に対して指定できる値の一覧です。
【fscommandのコマンド引数とその用途】
・fullscreen true または false
true 指定で、Flash Playerのフルスクリーンモード設定。false設定でノーマルメニュービュー。
・allowscale true または false
false指定で、常にSWFファイルを元サイズで表示し、拡大・縮小の制限をプレーヤーに設定。true指定では、自動でSWFファイルをプレーヤーウィンドウサイズに対して 100% の比率で動的な拡大・縮小を許可。
・showmenu true または false
true指定で、コンテキストメニュー(右クリック時に表示されるメニュー)項目をすべて有効に。false指定で、【設定】と【[Flash Player について】 以外のすべてのコンテキストメニュー項目を非表示にします。
・exec アプリケーションパス
プロジェクタの内部からアプリケーション実行。
・quit None
プロジェクタ終了。
ほかにはfscommand()の使用で、WEBブラウザ上のJavaScriptとデータの送受信が可能で、パラメータcommandとarguments内にパラメータを2つ渡します。パラメータについては式でもストリングでもどちらでも可能。
fscommand() 関数を用いてSWF ファイルをテストするには、パブリッシュ設定でFSCommand テンプレートを使用してSWFを埋め込んだ HTMLページでJavaScript関数『 moviename_DoFSCommand』 をコールします。moviename値はembedタグname属性またはobjectタグid 属性で割り当てられたFlashの名称です。
なので、SWFファイルの名前がかりに"topFlash"という名前であった場合、呼び出されるJavaScript関数は"topFlash_DoFSCommand"になります。
一般的にJavaScriptが使用されることが多いのですが、Macromedia Director, Visual C++, ActiveXコントロールへの通信でも利用されます。
そして、携帯用のActionScriptであるflash liteではfscommandが使用可能ですが、コマンドのほとんどがサポートされておらず、flash lite1.1でfscommand2が導入され、flash lite1.1で制作した携帯用フラッシュコンテンツでは、携帯端末の電波状況やバッテリー情報などの端末情報を取得することが可能になっているわけですね。
fscommandというのはflashコンテンツと外部プログラムとデータのやり取りをするために用意されたグローバル関数ということですね。
【関連キーワード:fscommand2関数とコマンドとは】