Chapter 1 Java的下一個領域為移動電話 1
1-1 用移動電話來執(zhí)行Java 2
1-1-1 將Java放到移動電話上 2
1-1-2 什么是移動電話的Java 2
1-1-3 什么是J2ME 3
1-1-4 J2SE與CLDC的差異 5
1-2 日本國內的兩種移動Java 8
1-2-1 Profile的種類 8
1-2-2 什么是MIDP 9
1-2-3 什么是DoJa 10
1-2-4 MIDP與DoJa的差異 11
1-3 擴展API 12
1-3-1 擴展API是指什么 12
1-3-2 J-PHONE的擴展性能 12
1-3-3 KDDI的擴展性能 13
1-3-4 兩家電信商擴展API的比較 14
1-4 移動Java的優(yōu)缺點與今后的動向 14
Chapter 2 MIDP開發(fā)的基礎與生命周期 17
2-1 MIDlet開發(fā)環(huán)境的準備 18
2-1-1 開發(fā)環(huán)境的準備 18
2-1-2 JDK與J2MEWTK的安裝 18
2-1-3 文檔的準備 23
2-2 MIDlet的基礎與其生命周期 23
2-2-1 MIDlet的構成 23
2-2-2 MIDlet的規(guī)則與抽象方法 24
2-2-3 MIDlet的生命周期 25
2-2-4 MIDlet的運行流程 26
2-3 MIDlet屬性 27
2-3-1 編寫在JAD文件與列表文件中的屬性 27
2-3-2 JAD文件編寫內容的獲取 31
2-4 實際的開發(fā) 31
2-4-1 開發(fā)的流程 31
2-4-2 開發(fā)時的注意點 32
2-4-3 項目的創(chuàng)建 33
2-4-4 編寫程序代碼 37
2-4-5 編譯 38
2-4-6 運行前驗證處理 39
2-4-7 打包與JAD文件創(chuàng)建 40
2-4-8 運行 42
2-4-9 調試與Web服務器的設置 43
2-5 MIDLet的結束與暫停
2-5-1 MIDlet的結束 44
2-5-2 MIDlet的強制停止 45
2-5-3 MIDlet的選擇畫面 46
Chapter 3 深入了解MIDP規(guī)范 47
3-1 了解MIDlet的畫面顯示 48
3-2 了解低級繪圖 49
3-2-1 試著使用低級繪圖方法 49
3-2-2 錨點 54
3-2-3 顏色的指定 56
3-2-4 字體的指定 56
3-2-5 圖像的獲取 60
3-3 了解UI組件 62
3-3-1 UI組件的使用 62
3-3-2 Item類的子類 65
3-4 了解MIDlet的按鍵事件 68
3-4-1 按鍵的種類 68
3-4-2 軟件按鍵與命令的事件處理 69
3-4-3 數字按鍵與符號按鍵的事件處理 73
3-4-4 十字按鍵與確定按鍵的事件處理 76
3-4-5 指針事件 79
3-5 了解簡單的聲音功能 80
3-6 了解數據存儲功能 81
3-6-1 RMS(Record Management System) 81
3-6-2 記錄的添加、刪除和更改 82
3-6-3 記錄的ID 83
3-6-4 使用了RecordStore的范例 85
3-7 了解網絡功能 90
3-7-1 Generic Connection架構 90
3-7-2 connector類 91
3-7-3 Connection接口 92
Chapter 4 制作動畫 95
4-1 了解動畫與線程 96
4-1-1 動畫的基礎 96
4-1-2 線程的使用 96
4-1-3 線程的啟動與停止 97
4-1-4 線程指定時間的等待 99
4-2 動畫的創(chuàng)建 99
4-2-1 類結構 99
4-2-2 項目的創(chuàng)建與圖像的準備 101
4-2-3 AnimeMIDlet類的設置 101
4-2-4 AnimelCanvas類的設置 102
4-2-5 動畫的運行 105
4-3 了解DoubleBuffer 105
4-3-1 什么是DoubleBuffer 105
4-3-2 DoubleBuffer的使用 106
4-4 了解Canvas類的運行特性 107
Chapter 5 制作拼圖板益智游戲 109
5-1 游戲的了解與開發(fā)的準備 110
5-1-1 拼圖板益智游戲的規(guī)則與了解 110
5-1-2 游戲的流程與類結構 111
5-1-3 考慮默認畫面大小 113
5-1-4 開發(fā)的準備 113
5-2 實現類 114
5-2-1 NumberSliderPuzzle類的實現 114
5-2-2 Timer類與TimerTask類 116
5-2-3 GameTimer類的實現 118
5-2-4 GameCanvas類的實現 119
5-2-5 游戲的狀態(tài) 120
5-2-6 Constructor 121
5-2-7 準備各關卡的謎題 122
5-2-8 初始化處理 123
5-2-9 命令的種類 125
5-2-10 命令處理 125
5-2-11 符合MIDlet的LiveCycle的處理 127
5-2-12 計時器處理 129
5-2-13 處理的中心部分 131
5-2-14 按鍵事件的處理 133
5-2-15 過關檢查 137
5-2-16 暫停與重新啟動處理 138
5-2-17 描繪處理 138
5-3 本章總結 145
Chapter 6 制作俄羅斯方塊益智游戲 147
6-1 游戲的了解與開發(fā)的準備 148
6-1-1 俄羅斯方塊益智游戲的規(guī)則與了解 148
6-1-2 游戲的流程與類結構 149
6-2 實現類 151
6-2-1 Cube類的實現 151
6-2-2 Piece類的實現 152
6-2-3 GameCanvas類的實現 155
6-2-4 游戲的狀態(tài) 156
6-2-5 Constructor 156
6-2-6 初始化處理 157
6-2-7 命令的種類與命令處理 159
6-2-8 配合MIDlet的LiveCycle的處理 161
6-2-9 方塊顯示區(qū)域 163
6-2-10 落下方塊組 164
6-2-11 制作下一個要落下的方塊組 166
6-2-12 按鍵事件處理 169
6-2-13 處理的核心部分 179
6-2-14 方塊的落下速度的調整 191
6-2-15 暫停處理與重新啟動處理 193
6-2-16 描繪處理 194
6-3 本章總結 199
Chapter 7 制作卡片游戲 201
7-1 游戲的了解與開發(fā)的準備 202
7-1-1 了解撲克牌游戲機的規(guī)則 202
7-1-2 游戲的流程 203
7-1-3 類結構 204
7-1-4 開發(fā)的準備 205
7-2 實現類 206
7-2-1 PokerMachine類的實現 206
7-2-2 Card類的實現 208
7-2-3 撲克牌的種類 209
7-2-4 撲克牌的狀態(tài) 211
7-2-5 撲克牌的描繪 212
7-2-6 GameCanvas類的實現 216
7-2-7 游戲的狀態(tài) 217
7-2-8 Constructor 218
7-2-9 初始化處理 219
7-2-10 命令的種類與命令處理 221
7-2-11 配合MIDlet的LiveCycle處理 222
7-2-12 處理的核心部分 223
7-2-13 OK按鈕的處理 226
7-2-14 按鍵事件處理 227
7-2-15 下注處理 229
7-2-16 分配新撲克牌的處理 231
7-2-17 撲克牌選擇處理 232
7-2-18 撲克牌交換處理 233
7-2-19 結果判定處理 235
7-2-20 描繪處理 245
7-3 本章總結 254
Chapter 8 制作射擊游戲 257
8-1 游戲的了解與開發(fā)的準備 258
8-1-1 射擊游戲的規(guī)則與了解 258
8-1-2 游戲的流程與類結構 258
8-1-3 開發(fā)的準備 260
8-2 實現類 262
8-2-1 SpaceShooter類的實現 262
8-2-2 了解Sprite功能 263
8-2-3 Sprite類的實現 263
8-2-4 MyShip類的實現 267
8-2-5 MyMissile類的實現 269
8-2-6 UFO類的實現 270
8-2-7 UFOMissile類的實現 275
8-2-8 GameCanvas類的實現 276
8-2-9 游戲狀態(tài) 277
8-2-10 Constructor 278
8-2-11 與Sprite有關的實例變量 279
8-2-12 初始化處理 281
8-2-13 命令的種類與命令的處理 282
8-2-14 配合MIDlet的LiveCycle處理 284
8-2-15 處理的核心部分 286
8-2-16 UFO的出現處理 293
8-2-17 按鈕按鍵處理 295
8-2-18 暫停與重新啟動處理 298
8-2-19 描繪處理 298
8-3 本章總結 303
Chapter 9 制作格斗游戲 305
9-1 游戲的了解與開發(fā)的準備 306
9-1-1 拳擊游戲規(guī)則的了解 306
9-1-2 游戲的流程與類結構 307
9-1-3 開發(fā)的準備 308
9-2 實現類 310
9-2-1 PoketBoxing類的實現 310
9-2-2 Boxer類的實現 311
9-2-3 拳擊手的狀態(tài) 313
9-2-4 拳擊手的初始化處理 315
9-2-5 拳擊處理與生命點數處理 315
9-2-6 描繪處理 317
9-2-7 Enemy類的實現 319
9-2-8 GameCanvas類的實現 322
9-2-9 游戲的狀態(tài) 323
9-2-10 Constructor 324
9-2-11 初始化處理 325
9-2-12 命令的種類與命令處理 327
9-2-13 配合MIDlet的LiveCycle處理 329
9-2-14 處理的核心部分 330
9-2-15 更改對手拳擊手的狀態(tài) 334
9-2-16 生命點數的檢查與回合結束處理 342
9-2-17 按鍵事件的處理 346
9-2-18 暫停與重新啟動處理 349
9-2-19 描繪處理 349
9-3 本章總結 354
Chapter 10 開發(fā)秘訣 355
10-1 游戲開發(fā)的秘訣 356
10-2 將文件縮小 358
10-2-1 混淆器 359
10-2-2 使用了RetroGuard的文件縮小化 360