圖書簡介
本書是一本介紹J2ME移動套用開發的實例教程,從易懂、易學的實戰目標出發,用豐富的實例對手機遊戲開發的基礎知識和技能進行了生動、直觀的講解。
本書堅持理論與實踐並重,面向實際開發,旨在幫助讀者解決實際問題。全書共分為12章,第1~7章介紹J2ME的基礎知識,包括J2ME的簡介、J2ME開發環境的構建、界面開發、數據存儲、MIDP2.0、網路和多媒體開發等內容。第8~11章詳細講解多款不同類型遊戲的設計與開發,如益智動作遊戲《夏日大冒險》和飛行射擊遊戲《雷霆戰機》、角色扮演遊戲《桃花園記》和休閒益智遊戲《推推俠》,第12章介紹橫版過關類遊戲《帝企鵝日記》。附錄介紹了橫動作編輯器的使用。
本書內容全面、結構清晰,實例具有很強的實用性和代表性,並且提供了4個完整的遊戲案例,可以幫助讀者系統地了解J2ME的開發過程,迅速掌握J2ME手機遊戲的核心技術。
本書可作為J2ME移動套用開發人員愛好者的參考書,也可作為本科院校以及高職高專手機遊戲開發課程的教材。本教材配有教學PPT。
目錄
第1章 手機遊戲簡介 1
1.1 手機遊戲概述 1
1.1.1 手機遊戲產業發展現狀 1
1.1.2 手機遊戲分類 2
1.2 手機遊戲開發的特點 7
1.2.1 手機遊戲與PC遊戲的區別 7
1.2.2 手機遊戲的優勢 7
1.2.3 手機設備的局限 8
1.2.4 手機遊戲的推廣渠道 8
1.2.5 手機遊戲的盈利模式 9
1.3 手機遊戲策劃 9
1.3.1 手機遊戲策劃的概念 9
1.3.2 手機遊戲策划過程 11
小結 13
思考題 13
第2章 J2ME簡介和編程環境 14
2.1 J2ME簡介 14
2.2 J2ME平台體系結構 14
2.2.1 體系結構概述 15
2.2.2 J2ME總體結構 16
2.2.3 配置層 17
2.2.4 簡表層 19
2.3 MIDlet 20
2.3.1 MIDlet概述 20
2.3.2 MIDlet的生命周期 22
2.3.3 MIDlet Suite 22
2.3.4 MIDlet的執行環境 25
2.4 編程環境 25
2.4.1 Java開發工具包 25
2.4.2 使用Java開發環境 27
2.4.3 IDE的安裝和使用 31
2.4.4 WTK 37
2.4.5 WTK的安裝 38
2.4.6 EclipseME 42
2.4.7 EclipseME外掛程式的安裝 43
2.4.8EclipseME外掛程式的配置 47
小結 50
思考題 50
第3章高級用戶界面 51
3.1高級用戶界面概述 51
3.1.1LCDUI包 51
3.1.2高級用戶界面的類結構 52
3.1.3Display和Displayable類 53
3.2Command類與高級事件處理 54
3.2.1Command類 54
3.2.2高級事件處理 55
3.3高級界面類 56
3.3.1Screen類 56
3.3.2TextBox組件 57
3.3.3List組件 58
3.3.4Alert組件 62
3.4螢幕表單(Form類)及其組件 65
3.4.1Form類 65
3.4.2Item類和Item狀態監聽 67
小結 77
思考題 77
第4章低級用戶界面 78
4.1Canvas類 78
4.1.1Canvas類概述 78
4.1.2Canvas的布局 79
4.1.3繪製螢幕 80
4.1.4重繪螢幕 81
4.1.5用戶互動 83
4.2Graphics類 89
4.2.1Graphics類概述 89
4.2.2Graphics類的坐標系 89
4.2.3畫筆的風格和顏色 90
4.2.4Graphics類的圖形繪製 91
4.2.5文字顯示 99
4.2.6圖像繪製 102
4.3動畫實現 110
4.3.1動畫原理 110
4.3.2執行緒動畫 110
4.3.3雙緩衝技術 115
4.4MIDP1.0套用實例 118
小結 124
思考題 124
第5章數據存儲 125
5.1RMS概述 125
5.2記錄存儲管理 126
5.2.1記錄倉庫的打開與創建 126
5.2.2記錄倉庫的關閉 127
5.2.3記錄倉庫的其他操作 128
5.3記錄倉庫的基本操作 129
5.3.1添加記錄 129
5.3.2獲取記錄 131
5.3.3修改記錄 132
5.3.4刪除記錄 133
5.4記錄倉庫的高級操作 133
5.4.1遍歷記錄 133
5.4.2過濾記錄 135
5.4.3排序記錄 136
5.4.4RecordEnumeration與RecordStore的同步 138
5.4.5執行緒操作問題 138
5.4.6監視記錄變化 139
小結 139
思考題 140
第6章MIDP2.0開發 141
6.1MIDP2.0簡介 141
6.1.1MIDP2.0和MIDP1.0的區別 141
6.1.2game包的結構 141
6.1.3game包中的類 142
6.2GameCanvas類的使用 142
6.2.1GameCanvas類 142
6.2.2緩衝區螢幕 143
6.2.3查詢遊戲按鍵狀態 144
6.2.4MIDP2.0下的遊戲主循環 146
6.3Layer類 146
6.4Sprite類 147
6.4.1Sprite類介紹 147
6.4.2Sprite幀概念 147
6.4.3Sprite的幀序列 149
6.4.4創建精靈對象 149
6.4.5繪製精靈對象 150
6.4.6參考像素點 150
6.4.7精靈對象的變換 153
6.4.8碰撞檢測 156
6.5TiledLayer類 157
6.5.1圖像貼圖 157
6.5.2單元格 158
6.5.3TiledLayer用法示例 160
6.5.4精靈與地圖的碰撞 166
6.6LayerManager類 168
6.6.1圖層管理 169
6.6.2可視視窗與渲染 169
6.6.3精靈與TiledLayer的碰撞 174
6.7MIDP2.0套用實例 175
小結 183
思考題 183
第7章網路與多媒體 184
7.1GCF概述 184
7.2GCF的層次結構 184
7.3GCF的使用 185
7.4MIDP的HTTP連線 186
7.4.1HTTP連線簡介 186
7.4.2HTTP相關協定 187
7.4.3HTTP的請求/應答模型 187
7.4.4在MIDP中使用HTTP連線 190
7.4.5使用HTTP來訪問網路實例 191
7.5Socket連線 192
7.5.1客戶端Socket 192
7.5.2服務端Socket 196
7.6Datagram連線 198
7.6.1Datagram與Socket的差別 199
7.6.2傳送數據報 200
7.6.3接收數據報 201
7.7CMNET和CMWAP的通信方式 201
7.8MMAPI編程 203
7.8.1MMAPI概述 203
7.8.2MMAPI特性 203
7.8.3MMAPI體系結構 204
7.8.4MMAPI包 206
7.8.5MMAPI包的使用 208
小結 213
思考題 213
第8章益智動作遊戲——夏日大冒險 214
8.1遊戲策劃和準備工作 214
8.1.1遊戲策劃分析 214
8.1.2遊戲需求和準備工作 214
8.2遊戲架構 217
8.2.1遊戲的類結構 217
8.2.2用戶界面流程 217
8.2.3檔案結構 218
8.3遊戲關鍵技術和實現 219
8.3.1閃屏Logo類 219
8.3.2MyCanvas主類 222
8.3.3Music音樂類 239
8.3.4Map地圖類 241
8.3.5關卡 243
8.4兼容性設計 246
小結 247
思考題 247
第9章飛機射擊遊戲——雷霆戰機 248
9.1遊戲策劃和準備工作 248
9.1.1遊戲策劃分析 248
9.1.2遊戲準備工作 249
9.2遊戲設計 250
9.2.1遊戲架構設計 250
9.2.2用戶界面流程 251
9.2.3遊戲設計的關鍵問題 252
9.3遊戲關鍵技術實現 252
9.3.1MIDlet子類的實現 252
9.3.2手機遊戲的主框架實現 253
9.3.3遊戲地圖的繪製 256
9.3.4遊戲中的主要角色類 260
9.3.5控制遊戲對象 277
9.3.6碰撞檢測 278
9.3.7保存信息及讀取信息 282
9.3.8音效的處理 283
9.4打包生成 284
9.4.1打包生成jar檔案 284
9.4.2下載到手機 286
9.5J2ME遊戲的最佳化和注意事項 286
9.5.1J2ME遊戲的最佳化 286
9.5.2注意事項 287
小結 288
思考題 288
第10章角色扮演遊戲——桃花園記 289
10.1遊戲策劃及準備工作 289
10.1.1遊戲策劃分析 289
10.1.2遊戲需求以及準備工作 289
10.2遊戲架構 292
10.2.1遊戲的類結構 292
10.2.2遊戲界面流程 292
10.2.3遊戲規則 293
10.3遊戲關鍵技術及實現 294
10.3.1遊戲畫布MyCanvas類的實現 294
10.3.2MyMap地圖類的實現 312
10.3.3MySprite精靈類的實現 314
10.3.4角色排序 316
10.3.5玩家與精靈類的通信 316
10.3.6敵人的人工智慧 317
10.3.7遊戲音樂實現 319
小結 320
思考題 320
第11章休閒益智遊戲——推推俠 321
11.1遊戲策劃和準備工作 321
11.1.1遊戲策劃分析 321
11.1.2遊戲準備工作 322
11.2遊戲架構 323
11.2.1遊戲的類結構 323
11.2.2用戶界面流程 324
11.3遊戲關鍵技術實現 325
11.3.1GameMidlet類 325
11.3.2GameData接口 326
11.3.3GamePlayer玩家類 326
11.3.4GameTools類 327
11.3.5MyGameCanvas主畫布類 328
11.3.6GameMap地圖類 339
11.3.7GameMusic音樂類 342
11.3.8GameNpc怪物類 343
小結 346
思考題 346
第12章橫版過關類遊戲——帝企鵝日記 347
12.1遊戲策劃和準備工作 347
12.1.1遊戲策劃分析 347
12.1.2遊戲需求和準備工作 347
12.2遊戲架構 348
12.2.1遊戲的類結構 348
12.2.2用戶界面流程 349
12.3遊戲關鍵技術及實現 350
12.3.1遊戲畫布MyCanvas類的實現 350
12.3.2遊戲Sprite類及子類的實現 352
12.3.3遊戲Game類的實現 361
12.3.4遊戲TilesEngine類的實現 372
小結 380
附錄橫動作編輯器的使用 381
J2ME手機遊戲開發技術與實踐(第2版)
目錄