Java2ME MIDP ゲームクリエーターズガイド J-PHONE KDDI完全対応
2002年5月7日紙版発売
米川英樹 著
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の使い方