Flash制作講座フラッシュ制作講習

FLASH制作からActionScriptによるFlashコンテンツ制作のためのフラッシュ制作講座

fscommand2関数とコマンドとは


fscommand2()関数とは携帯端末対応用にflash liteを使用する際のActionScriptの関数です。

fscommand2には携帯端末対応用にfscommand2コマンドがあります。
fscommand2コマンドを使って、Flash Liteプレーヤーを通して以下のような情報を携帯端末から取得したり制御することが可能です。


・年月日時の情報取得
・バッテリー残量状況の取得
・電波受信状態の取得
・バイブレータ機能制御

モバイル端末のキャリアや機種ごとによってActionScript記述が異なったり特有のバグなどがありますので注意が必要でしょう。


■fscommand2()関数について


fscommand2()関数はfscommand()関数と似ていますが、携帯用に用意された関数として、swfファイルからFlash Liteプレーヤーや携帯デバイスのホストアプリケーションとのデータのやり取りを可能にします。


・fscommand()とfscommand2()の違い

大きく分類すると前者がWEBブラウザ用で後者がFlash Liteで記述するモバイルFlashコンテンツ用といったところでしょうか。
fscommand()が取得できる引数は1つに対してfscommand2()関数は以下のように引数を指定できます。


fscommand2(command: String, parameter1: String,...parameterZ: String):Void
┗パラメータの説明
command: String - ホストアプリケーションに任意で送られるストリング、もしくはFlash Lite プレーヤーに送られるコマンド。
parameters: String - ホストアプリケーションに任意で送られるストリング、もしくはFlash Lite プレーヤーに送られる値。
使用可能バージョン : ActionScript 1.0、Flash Lite 1.1


ほかには、fscommand()は処理中フレームでさいごに実行可能になるのに対して、fscommand2()は処理フレームで直ぐに実効されます。
またその際には、コマンドの実行結果の値を取得することが可能です。


当然ながらfscommand2()はWEBブラウザ上のFlashプレーヤーでは実効できません。


■fscommand2コマンドとは

fscommand2()関数には定義されたコマンドとパラメータに値をセットして、Flash Liteプレーヤーに情報を送信します。
fscommand2()関数のコマンドについては以下のコマンド一覧を参照してください。


【fscommand2 コマンド群-アドビActionScript リファレンスガイドからの参照】


・ExtendBacklightDuration
バックライト継続時間の延長

・FullScreen
レンダリング時の表示領域サイズ設定

・GetBatteryLevel
現在のバッテリーレベルを取得

・GetDevice
Flash Liteを実行しているモバイルデバイス識別値を取得

・GetDeviceID
モバイルデバイス識別子(シリアル番号など)パラメータ取得。

・GetFreePlayerMemory
Flash Liteが現在利用可能なヒープメモリ量をキロバイトで取得

・GetMaxBatteryLevel
モバイルデバイス最大バッテリーレベルを取得

・GetMaxSignalLevel
現在の最大信号値を数値で取得

・GetMaxVolumeLevel
モバイルデバイス最大音量レベルを数値で取得

・GetNetworkConnectionName
アクティブな状態のネットワーク接続かデフォルト設定ネットワーク接続名を取得

・GetNetworkConnectStatus
現ネットワーク接続ステータス値を取得

・GetNetworkGeneration
現モバイルネットワーク世代(3Gなど)を取得

・GetNetworkName
パラメータを現ネットワーク名に設定して取得

・GetNetworkRequestStatus
HTTP要求ステータスの最新情報値を取得

・GetNetworkStatus
モバイルデバイスのネットワークステータス値を取得

・GetPlatform
モバイルデバイスのプラットフォーム識別パラメータを取得

・GetPowerSource
現バッテリーの供給源を示す値を取得

・GetSignalLevel
現信号の強さを数値で取得

・GetTotalPlayerMemory
Flash Liteに割り振られているヒープメモリ合計量をキロバイトで取得

・GetVolumeLevel
モバイルデバイスの現在の音量レベルを数値で取得

・Quit
Flash Liteプレーヤー再生を停止してプレーヤー終了

・ResetSoftKeys
ソフトキーを最初の設定にリセット

・SetFocusRectColor
フォーカス矩形のカラーを設定

・SetInputTextType
入力テキストフィールドを開くモード指定

・SetSoftKeys
モバイルデバイスのソフトキーマッピングのやり直し

・StartVibrate
モバイルデバイスのバイブレータ機能を動作

・StopVibrate
バイブレータ動作を停止



【記述例】

■携帯端末機情報の取得

device = fscommand2("GetDevice", "dname");

/GetDeviceコマンドでdnameパラメータに機種名を取得


■電波状態の取得

maxSignalLevel = fscommand2("GetMaxSignalLevel"); //最大受信レベル

nowSignalLevel = fscommand2("GetSignalLevel"); //現在の受信レベル


■バッテリー情報を取得

maxBatteryLevel = fscommand2("GetMaxBatteryLevel"); //バッテリー最大容量

nowBatteryLevel = fscommand2("GetBatteryLevel"); //現在バッテリー残量


■バイブレータ機能の制御

vibrate = fscommand2("StartVibrate", 3000, 1000, 3); //3秒、1秒ごとに3回バイブレーション


■使用メモリ量の情報取得

memory = fscommand2("GetTotalPlayerMemory") - fscommand2("GetFreePlayerMemory");


■再生クオリティー制御

quality = fscommand2("SetQuality", "high"); //高

quality = fscommand2("SetQuality", "medium"); //中

quality = fscommand2("SetQuality", "low"); //低


■日付情報の取得

year = fscommand2("GetDateYear"); //年

month = fscommand2("GetDateMonth"); //月

today = fscommand2("GetDateDay"); //日

weekday = fscommand2("GetDateWeekday"); //曜日


■時間情報の取得

hour = fscommand2("GetTimeHours"); //時

minutes = fscommand2("GetTimeMinutes"); //分

seconds = fscommand2("GetTimeSeconds"); //秒





fscommand2()関数とはとfscommand2 コマンド群についてでしたが、Flash Lite1.1とFlash Lite2やFlash Lite3では使用できるコマンドの種類や記述方法が異なるので注意が必要だ。


【関連キーワード:fscommand()とはなにか