オープンアプリ・ゲームコンテスト
コンテスト概要 応募方法 応募作で遊ぼう アプリ開発講座 Special Special

アプリ開発講座

講座スケジュール
第1回 オープンアプリ(Java)とJava実行環境
line
第2回 はじめてのオープンアプリ(Java)の作成
line
第3回 イメージの描画
line
第4回 キー入力の処理
line
第5回 オープンアプリ(Java)への移植
line
第6回 ゲームの作成
line第7回 端末へのデータ保存
line第8回 サウンドの再生
line第9回 バイブレーションとブラウザ起動
line
最終回 HTTPによる通信
line

開発講座TOPへ



講師プロフィール
株式会社ユビキタスエンターテインメント 布留川英一

1999年のJavaMEの仕様公開を期に「JAVA PRESS(技術評論社)」にてライターとしての活動をはじめ、2000年の503iシリーズの発売を期にドワンゴへ移り、携帯アプリの研究開発を行う。2005年に独立し、ユビキタスエンターテインメントにて次世代コンテンツを作成中。
【著書】
MIDP 2.0 携帯Javaアプリ開発ハンドブック
iアプリゲーム開発テキストブック
ActionScript 3.0 ゲームプログラミングブック
他6冊

 

 

第9回 
バイブレーションとブラウザ起動

第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による通信」について解説します。


ページ先頭へ


  Copyright(C) Spicysoft Corporation All rights reserved.
 
アプリゲット