SkyArts.com
(Japanese version)
English here

Home > 書籍情報 > Java2ME MIDP ゲームクリエーターズガイド

Java2ME MIDP ゲームクリエーターズガイド
J-PHONE、KDDI完全対応
米川英樹著 ISBN4-7741-1470-7
440頁 3580円+税
技術評論社より2002年5月7日発売

Amazon.co.jpの詳細ページへ
(カスタマーレビューでおすすめ度 星5つを頂きました!)

MIDPなどの携帯電話Java開発の社員教育、セミナーなどを承っております!

私どもはMIDP開発の書籍執筆や雑誌記事執筆、開発環境を開発した実績があります!
お気軽にお問い合わせ下さい


SkyArtsのおすすめ商品です!SkyArtsストア
(Powered by Amazon.co.jp)
基本送料無料!
  激安ショップやってます!SkyArts Shop
(激安Shopやってます)
 


 

 MIDP(Mobile Information Device Profile)は、ボーダフォン(旧J-PHONE)、KDDIが採用したJava仕様で、携帯電話端末で実行できるJavaアプリケーションのことをそれぞれVアプリ(旧Javaアプリ)、ezplusと呼んでいます。
 本書は、MIDP仕様の説明からVアプリ、ezplusの仕様や開発方法を解説し、本格的なゲームを作成して行きます。
 各社の拡張APIの解説もしているため、拡張APIを使用した開発も容易になることでしょう。

 一度読み終えた後もリファレンス的な使い方ができるように説明する個所をまとめているため、ゲームに限らず、ビジネスアプリケーションなどのMIDP開発を行う時には必携の書です!

 開発するゲームとしてSkyArtsのゲーム製品が使用されており、SkyArtsのゲーム製品のソースコードを見ながらMIDP開発の学習ができます。

 ゲームに限らず、時計アプリやアニメーション、ビジネスアプリなどを作成する際にも役に立つ情報をたくさん盛り込みました。そのため、ゲームを開発しない方にもお勧めです!

 J-PHONE、KDDIの拡張機能であるメディア再生、バイブレーション、バックライトなどの機能を利用したサンプルもあるため、これらの拡張機能を簡単に使うことができるようになるでしょう!

読者対象:Javaによる開発経験のある方。(Javaの入門書を卒業した程度のスキルが必要です。)

 

●CD-ROM収録内容

  • Java2SE SDK 1.4 Windows版
  • KDDI KJX作成ツール
  • MIDP Builder Ver1.x (MIDP開発ツール)
  • CRC4KDDI (KDDI端末向けCRCチェックバリュー付加ツール ※KDDIサイトからもダウンロードできるようになりました!)
  • 本書掲載コードを含む多数のサンプルコード(サンプルを試すだけでも楽しめます!)

※使用方法やライセンスについては各ソフトウェアのドキュメントを参照して下さい。

 

●目次
第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の使い方

ご意見、ご要望をこちらのアドレスまでお寄せください。
Copyright(C) 1997-2011 SkyArts.com. All Rights Reserved