Flash Lite 1.1の基本的なスクリプト制御
携帯ならではの機能
Flash Lite 1.1は携帯で閲覧するFlashコンテンツです。そのため、携帯電話ならではの機能もサポートされています。携帯電話の機能や特性にあわせてアイデアなどを考えていくと、PC版のFlashとはまったく異なる面白い表現や演出ができると思います。
通常はリンク先のURLやパスを指定してページ遷移をしたりメールリンクなどをさせる処理となりますが、電話ならではの機能として電話番号のリンクもサポートされています。
getURL("http://www.hogehoge.com/"); //Webサイトへリンク
getURL("mailto:mail@hogehoge.com"); //メールアドレスにリンク
getURL("tellto:09012345678"); //電話番号へリンク
ただし、getURL()が処理できる条件は、ボタンアクションに記述されたonハンドラの時のみとなります。また、1つのイベントに対し、処理されるgetURLは1つのみとなります。逆に言えば、フレームアクションでgetURL()を記述しても処理されませんのでご注意ください。
on (press){getURL("http://www.macromedia.com"); //getURL()はonハンドラの時のみ有効}
fscommand2()関数を利用すると、携帯端末やデバイスのシステムなどの情報を取得したり、制御を行うことができます。
日付の取得は下記の通りです。
fscommand2("GetDateYear"); //年
fscommand2("GetDateMonth"); //月
fscommand2("GetDateDay"); //日
曜日の取得は下記の通りです。
fscommand2("GetDateWeekday"); //曜日
時間の取得は下記の通りです。
fscommand2("GetTimeHours"); //時
fscommand2("GetTimeMinutes"); //分
fscommand2("GetTimeSeconds"); //秒
携帯端末の電波状況やバッテリー残量などの取得は下記の通りです。
fscommand2("GetSignalLevel"); //電波状況
fscommand2("GetBatteryLevel"); //バッテリー残量
fscommand2("GetPowerSource"); //電源状況
バイブレータ機能の制御は下記の通りです。
fscommand2("StartVibrate", [オンの時間], [オフの時間], [繰り返し回数]);
fscommand2("StopVibrate");
テキスト入力の初期入力モードは下記の通りです。
fscommand2("SetInputTextType", [ダイナミックテキストの名前(変数の名前)], [入力モード]);
入力モードは機種によって対応しているものが異なります。基本的なものとして「Numeric:数字」「Alpha:英字」は多くの機種が対応しているので、これらを主に使用すると良いでしょう。
このように、fscommand2()はPC版には無い携帯特有の機能を使用することができます。図3に、fscommand2()でできることをまとめてみました。
そのほかの細かい部分の注意点
Flash Lite 1.1ではMath()関数がサポートされていません。ただし、Math.acos()、Math.asin()、Math.atan()、Math.atan2()、Math.cos()、Math.pow()、Math.tan()の定数は使用することできますが、エミュレートによる近似値を割り当てているため精度は低くくなってしまいます。
小数点の切り捨てなどを行う場合は、int()を使用することができます。
サポート外とされているMath.ceil()やMath.round()なども使用できるという報告もありますが、誤作動するケースもあるようです。サポート外のMath()関数を使用する場合は十分に検証を行う必要がありそうです。
ゲームコンテンツなどによく利用されるランダム数値ですが、random()関数を使って取得することができます。
rNo = random(5); //0,1,2,3,4のいずれかの数値が代入されます
rNo = random(5) + 5; //5,6,7,8,9のいずれかの数値が代入されます
以上、今回はFlash Lite 1.1の基本的なスクリプトの書き方をまとめてみました。
次回は、時計待ち受けの作り方を解説していきたいと思います。