Java2ME MIDP ゲームクリエーターズガイド J-PHONE KDDI完全対応

[表紙]Java2ME MIDP ゲームクリエーターズガイド J-PHONE KDDI完全対応

紙版発売

B5変形判/440ページ/CD1枚

定価3,938円(本体3,580円+税10%)

ISBN 4-7741-1470-7

ただいま弊社在庫はございません。

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

本書はJava MIDPによるゲームアプリケーション開発指南書です.開発環境からJ-PHONE,KDDIの独自仕様までしっかりフォローしています.作り応えたっぷりのゲームアプリでMIDPの世界に浸ってください.Java中級者の方を対象としています.

こんな方におすすめ

  • J-PHONEやKDDIの携帯電話上で動くJavaプログラムを作ってみたい方
  • Javaの知識がある方で携帯電話上で動くゲームを作ってみたい方

目次

第1章Javaの次なるフィールドは携帯電話

  • 1-1携帯電話でJavaが動く
    • 1-1-1Javaが携帯電話に載った
    • 1-1-2携帯電話のJavaとは
    • 1-1-3J2MEとは
    • 1-1-4J2SEとCLDCのちがい
  • 1-2国内の2種類の携帯Java
    • 1-2-1プロファイルの種類
    • 1-2-2MIDPとは
    • 1-2-3DoJaとは
    • 1-2-4MIDPとDoJaのちがい
  • 1-3MIDPの可能性を拡げる拡張API
    • 1-3-1拡張APIとは
    • 1-3-2J-PHONEの拡張機能
    • 1-3-3KDDIの拡張機能
    • 1-3-4両キャリアの拡張APIの比較
  • 1-4携帯Javaのメリット・デメリットと今後の動向
    • 1-4-1携帯電話向けに開発する場合の利点と注意点
    • 1-4-2携帯JavaアプリケーションとMIDPの今後の動向

第2章MIDP開発の基礎とライフサイクルの理解

  • 2-1MIDlet開発環境の整備
    • 2-1-1開発環境の整備
    • 2-1-2JDKとJ2MEWTKのインストール
    • 2-1-3ドキュメントの準備
    • 2-1-4J-PHONEの開発環境のインストール
    • 2-1-5KDDIの開発環境のインストール
  • 2-2MIDletの基礎とライフサイクル
    • 2-2-1MIDletの構成
    • 2-2-2MIDletの規則と抽象メソッド
    • 2-2-3MIDletのライフサイクル
    • 2-2-4MIDlet実行の流れ
  • 2-3MIDlet属性
    • 2-3-1JADファイルとマニフェストファイルに記載する属性
    • 2-3-2J-PHONEの独自拡張属性
    • 2-3-3KDDIの独自拡張属性
    • 2-3-4JADファイルの記載内容の取得
  • 2-4実際の開発
    • 2-4-1開発の流れ
    • 2-4-2開発時の注意点
    • 2-4-3プロジェクトの作成
    • 2-4-4コーディング
    • 2-4-5コンパイル
    • 2-4-6実行前検証処理
    • 2-4-7パッケージング,JADファイル作成
    • 2-4-8実行
    • 2-4-9デバッグとWebサーバの設定
  • 2-5J-PHONE環境での開発
    • 2-5-1開発時の注意点
    • 2-5-2J-PHONEの環境での開発
    • 2-5-3J-PHONEの環境での実行
  • 2-6KDDI環境での開発
    • 2-6-1KDDIの環境での開発
    • 2-6-2プロジェクトの作成
    • 2-6-3コーディングとコンパイル
    • 2-6-4実行前検証処理とパッケージング
    • 2-6-5KJXファイル作成とKDDIの環境での実行
    • 2-6-6実機での実行とダウンロードCGI
    • 2-6-7チェックバリュー付加処理
    • 2-6-8Webページの作成
    • 2-6-9ダウンロードと実行
  • 2-7MIletの終了と一時停止
    • 2-7-1MIDletの終了
    • 2-7-2MIDletの強制的な一時停止
    • 2-7-3MIDlet選択画面

第3章MIDP仕様を踏み込んで理解する

  • 3-1MIDletの画面表示を理解する
    • 3-1-1MIDletの画面表示の基礎
  • 3-2低レベル描画を理解する
    • 3-2-1低レベル描画メソッドを使用してみる
    • 3-2-2アンカーポイント
    • 3-2-3カラーの指定
    • 3-2-4フォントの指定
    • 3-2-5画像の取得
    • 3-2-6J-PHONE環境での低レベル描画
    • 3-2-7KDDI環境での低レベル描画
  • 3-3UIコンポーネントを理解する
    • 3-3-1UIコンポーネントの使用
    • 3-3-2Itemクラスのサブクラス
  • 3-4MIDletのキーイベントを理解する
    • 3-4-1キーの種類
    • 3-4-2ソフトボタンとコマンドのイベント処理
    • 3-4-3数字キーと記号キーのイベント処理
    • 3-4-4十字キーと決定キーのイベント処理
    • 3-4-5ポインタイベント
  • 3-5簡易サウンド機能を理解する
    • 3-5-1簡易サウンド機能
  • 3-6データ保存機能を理解する
    • 3-6-1RMS(Record Management System)
    • 3-6-2レコードの追加,削除,変更
    • 3-6-3レコードのID
    • 3-6-4RecordStoreを使用したサンプル
  • 3-7ネットワーク機能を理解する
    • 3-7-1Generic Connectionフレームワーク
    • 3-7-2Connectorクラス
    • 3-7-3Connectionインターフェース
    • 3-7-4J-PHONEのネットワーク機能
    • 3-7-5KDDIのネットワーク機能
    • 3-7-6JARファイルからリソースファイルを取得する

第4章アニメーションを作成する

  • 4-1アニメーションとスレッドの理解
    • 4-1-1アニメーションの基本
    • 4-1-2スレッドの使用
    • 4-1-3スレッドの開始と停止
    • 4-1-4スレッドの指定時間の待機
  • 4-2アニメーションの作成
    • 4-2-1クラス構成
    • 4-2-2プロジェクトの作成と画像の用意
    • 4-2-3AnimeMIDletクラスの実装
    • 4-2-4AnimeCanvasクラスの実装
    • 4-2-5アニメーションの実行
  • 4-3ダブルバッファを理解する
    • 4-3-1ダブルバッファとは
    • 4-3-2ダブルバッファの使用
  • 4-4Canvasクラスの動作特性を理解する
    • 4-4-1Canvasクラスの動作

第5章スライダーパズルを作成する

  • 5-1ゲームの理解と開発の準備
    • 5-1-1スライダーパズルのルールの理解
    • 5-1-2ゲームの流れとクラス構成
    • 5-1-3想定画面サイズを考える
    • 5-1-4開発の準備
  • 5-2クラスを実装する
    • 5-2-1NumberSliderPuzzleクラスの実装
    • 5-2-2TimerクラスとTimerTaskクラス
    • 5-2-3GameTimerクラスの実装
    • 5-2-4GameCanvasクラスの実装
    • 5-2-5ゲームの状態
    • 5-2-6コンストラクタ
    • 5-2-7ステージごとの問題の用意
    • 5-2-8初期化処理
    • 5-2-9コマンドの種類
    • 5-2-10コマンド処理
    • 5-2-11MIDletのライフサイクルに合わせた処理
    • 5-2-12タイマー処理
    • 5-2-13処理の中心部分
    • 5-2-14キーイベント処理
    • 5-2-15ステージクリアチェック
    • 5-2-16一時停止と再開処理
    • 5-2-17描画処理
  • 5-35章を終えるにあたって
    • 5-3-1実行とまとめ

第6章落ちものパズルゲームを作成する

  • 6-1ゲームの理解と開発の準備
    • 6-1-1落ちものパズルゲームのルールの理解
    • 6-1-2ゲームの流れとクラス構成
    • 6-1-3開発の準備
  • 6-2クラスを実装する
    • 6-2-1Cubeクラスの実装
    • 6-2-2Pieceクラスの実装
    • 6-2-3GameCanvasクラスの実装
    • 6-2-4ゲームの状態
    • 6-2-5コンストラクタ
    • 6-2-6初期化処理
    • 6-2-7コマンドの種類とコマンド処理
    • 6-2-8MIDletのライフサイクルに合わせた処理
    • 6-2-9ピースの表示領域
    • 6-2-10落下ピースブロック
    • 6-2-11次に落とすブロックの作成
    • 6-2-12キーイベント処理
    • 6-2-13処理の中心部分
    • 6-2-14ピースブロックの落下速度の調節
    • 6-2-15一時停止と再開処理
    • 6-2-16描画処理
  • 6-36章を終えるにあたって
    • 6-3-1実行とまとめ

第7章カードゲームを作成する

  • 7-1ゲームの理解と開発の準備
    • 7-1-1ポーカーマシンのルールの理解
    • 7-1-2ゲームの流れ
    • 7-1-3クラス構成
    • 7-1-4開発の準備
  • 7-2クラスを実装する
    • 7-2-1PokerMachineクラスの実装
    • 7-2-2Cardクラスの実装
    • 7-2-3カードの種類
    • 7-2-4カードの状態
    • 7-2-5カードの描画
    • 7-2-6GameCanvasクラスの実装
    • 7-2-7ゲームの状態
    • 7-2-8コンストラクタ
    • 7-2-9初期化処理
    • 7-2-10コマンドの種類とコマンド処理
    • 7-2-11MIDletのライフサイクルに合わせた処理とタイトル表示
    • 7-2-12処理の中心部分
    • 7-2-13OKボタンの処理
    • 7-2-14キーイベント処理
    • 7-2-15ベット処理
    • 7-2-16新しいカードを配布する処理
    • 7-2-17カード選択処理
    • 7-2-18カード交換処理
    • 7-2-19結果判定処理
    • 7-2-20描画処理
  • 7-37章を終えるにあたって
    • 7-3-1実行とまとめ

第8章シューティングゲームを作成する

  • 8-1ゲームの理解と開発の準備
    • 8-1-1シューティングゲームのルールの理解
    • 8-1-2ゲームの流れとクラス構成
    • 8-1-3開発の準備
  • 8-2クラスを実装する
    • 8-2-1SpaceShooterクラスの実装
    • 8-2-2スプライト機能の理解
    • 8-2-3Spriteクラスの実装
    • 8-2-4MyShipクラスの実装
    • 8-2-5MyMissileクラスの実装
    • 8-2-6UFOクラスの実装
    • 8-2-7UFOMissileクラスの実装
    • 8-2-8GameCanvasクラスの実装
    • 8-2-9ゲームの状態
    • 8-2-10コンストラクタ
    • 8-2-11スプライトに関するインスタンス変数
    • 8-2-12初期化処理
    • 8-2-13コマンドの種類とコマンド処理
    • 8-2-14MIDletのライフサイクルに合わせた処理
    • 8-2-15処理の中心部分
    • 8-2-16UFOの出現処理
    • 8-2-17キーイベント処理
    • 8-2-18一時停止と再開処理
    • 8-2-19描画処理
  • 8-38章を終えるにあたって
    • 8-3-1実行とまとめ

第9章格闘ゲームを作成する

  • 9-1ゲームの理解と開発の準備
    • 9-1-1ボクシングゲームのルールの理解
    • 9-1-2ゲームの流れとクラス構成
    • 9-1-3開発の準備
  • 9-2クラスを実装する
    • 9-2-1PocketBoxingクラスの実装
    • 9-2-2Boxerクラスの実装
    • 9-2-3ボクサーの状態
    • 9-2-4ボクサーの初期化処理
    • 9-2-5パンチ処理とライフポイント処理
    • 9-2-6描画処理
    • 9-2-7Enemyクラスの実装
    • 9-2-8GameCanvasクラスの実装
    • 9-2-9ゲームの状態
    • 9-2-10コンストラクタ
    • 9-2-11初期化処理
    • 9-2-12コマンドの種類とコマンド処理
    • 9-2-13MIDletのライフサイクルに合わせた処理
    • 9-2-14処理の中心部分
    • 9-2-15相手ボクサーの状態の変更
    • 9-2-16ライフポイントのチェックとラウンド終了処理
    • 9-2-17キーイベント処理
    • 9-2-18一時停止と再開処理
    • 9-2-19描画処理
  • 9-39章を終えるにあたって
    • 9-3-1実行とまとめ

第10章開発Tips

  • 10-1ゲーム開発のヒント
  • 10-2ファイルを軽量化する
    • 10-2-1コーディングでの軽量化
    • 10-2-2オブファスケーター
    • 10-2-3RetroGuardを使用しての軽量化

第11章J-PHONE,KDDIの拡張機能

  • 11-1J-PHONEの拡張機能
    • 11-1-1JSCLのおさらい
    • 11-1-2スプライト描写
    • 11-1-3デバイスコントロール
    • 11-1-4キーリピートの制御
    • 11-1-5キー押下状態の取得
    • 11-1-6LCDバックライトの制御
    • 11-1-7バイブレータの制御
    • 11-1-8メディアの再生
    • 11-1-93Dポリゴン表示
  • 11-2KDDIの拡張機能
    • 11-2-1KDDI-Pのおさらい
    • 11-2-2メディアの再生
    • 11-2-3実際に再生してみる
    • 11-2-4デバイスコントロール
    • 11-2-5着信LEDの制御
    • 11-2-6バイブレータの制御
    • 11-2-7ディスプレイバックライトの制御
    • 11-2-8ezplusコントローラ
  • Index
    • 付録CD-ROMの使い方