|
第9回の今回は、バイブレーションとブラウザ起動について解説します。弾幕避けゲームのゲームオーバー時にバイブレーション、ソフトキー1でサイトジャンプの機能を追加します。さらに、同様のネイティブ機能として、バックライトの点滅と音声通話機能の起動についても説明します。
[サンプルプログラムのダウンロード]

プログラムは、次の2つのクラスで構成されています。
- DanmakuGameクラス(DanmakuGameEx.java)
- DanmakuCanvasクラス(DanmakuCanvas.java)
プロジェクト名「DanmakuGame4」とクラス名「DanmakuGame」でプロジェクトを作成してください。
▼バイブレーション
DanmakuCanvasクラスに追加したバイブレーション部分は次の通りです。変数DanmakuGame.displayは、Displayオブジェクトにアクセスしやすいように、DanmakuGameに追加したスタティック変数です。
DanmakuCanvas.javaの一部
//ゲームオーバーの初期化
if (init==S_GAMEOVER) {
stopSound(0);
playSound(1);
if (highscore<score) saveHighScore(score);
//バイブレーション【追加】
DanmakuGame.display.vibrate(3000);
}
|
バイブレーションを行うには、Displayクラスのvibrate()メソッドを使います。バイブレーションを途中で停止させるには、durationに0を指定します。
| [Displayクラス] |
boolean vibrate(duration)
duration バイブレーションさせる時間(ミリ秒):int型
戻り値 成功したかどうか |
| バイブレーションを行う。 |
▼ブラウザ起動
DanmakuCanvasクラスに追加したブラウザ起動部分は次の通りです。変数DanmakuGame.midletは、Midletオブジェクトにアクセスしやすいように、DanmakuGameに追加したスタティック変数です。
DanmakuCanvas.javaの一部
//URLジャンプ【追加】
if (keyEvent==GAME_A) {
try {
DanmakuGame.midlet.platformRequest(
"http://appget.com/");
} catch (Exception e) {
}
}
|
ブラウザ起動を行うには、MIDletクラスのplatformRequest()メソッドを使います。接続が見つからなかったとき例外を投げるのでtry〜catchで囲みます。
| [Displayクラス] |
boolean platformRequest(url)
url URL:String型
戻り値 成功したかどうか |
| ブラウザ起動を行う。 |
▼バックライトの点滅
バックライトを点滅させるには、DisplayクラスのflashBacklight()メソッドを使います。フラッシュを途中で停止させるには、durationに0を指定します。
| [Displayクラス] |
boolean flashBacklight(duration)
duration フラッシュさせる時間(ミリ秒):int型
戻り値 成功したかどうか |
| バックライトを点滅させる。 |
3秒間バックライト点滅させるには、次のように記述します。
バックライトを点滅させるサンプル
DanmakuGame.display.flashBacklight(3000);
|
▼音声通話
音声通話機能を起動するには、ブラウザ起動と同じくplatformRequest()メソッドを使います。URLに「tel:電話番号」という書式で電話番号を指定します。時報にかける時は「tel:117」と指定します。
音声通話機能を起動するサンプル
try {
PhoneSystemEx.midlet.platformRequest("tel:117");
} catch (Exception e) {
}
|
▼おわりに
今回はこれでおしまいです。次回は「HTTPによる通信」について解説します。
|