基本信息 叢書名: 移動開發系列叢書
ISBN:9787115264930
出版日期:2012 年1月
開本:16開
頁碼:674
版次:1-1
編輯推薦 涵蓋遊戲開發的全部技術,如前台渲染、界面布局、網路開發、資料庫、感測器、人工智慧算法、流行的物理引擎及OpenGL ES 3D包括經典的8類遊戲,如體育類、益智類、滾展動作類、棋牌類、物理感測器類、物理感測器類、塔防類、物理引擎類及策略類。
揭秘“
憤怒的小鳥 ”的開發技術—“盛怒的老鼠”,結合Box2D
物理引擎 與2D渲染技術詳細介紹“憤怒的小鳥”這類物理引擎遊戲的開發技術與技巧
每個遊戲案例都是按照實際的開發步驟進行介紹,並逐步地將遊戲開發的整個過程展現在讀者面前。
配書光碟贈送全部源程式,10多個小時的配書視頻講解
內容簡介 《android遊戲開發大全》以android手機遊戲的開發為主題,結合真實的遊戲案例向讀者詳細介紹了android平台下遊戲開發的整個流程,同時在遊戲開發的介紹過程中還分享了作者多年積累的開發技巧與經驗。
《android遊戲開發大全》分為兩篇,共19章,第1篇(第1~11章)以簡單易懂的實例為依託,詳細介紹了android的前台渲染技術、常用界面布局、網路開發、sqlite資料庫的存取、
感測器套用 的開發、遊戲中經常使用的人工智慧算法、流行的
物理引擎 box2d以及opengl es 3d開發的相關知識。第2篇(第12~19章)詳細介紹了8個真實的遊戲案例,涵蓋了手機遊戲中的8個不同種類,包括體育類、益智類、滾屏動作類、棋牌類、物理感測器類、塔防類、物理引擎類以及策略類遊戲。每一個遊戲都是按照實際的開發步驟進行介紹,並逐步地將android手機遊戲的整個開發過程展現在讀者面前。同時在原始碼中還包含了詳細的注釋,以儘量幫助讀者掌握代碼中的每一個細節。另外,第2篇中所有的案例項目都配有講解視頻,以幫助讀者快速理解並得到提升。
《android遊戲開發大全》的講述由淺入深,從遊戲開發的基礎知識到開發大型遊戲,結構清晰、語言簡潔,非常適合android遊戲初學者和android遊戲進階開發者閱讀參考。
目錄 《android遊戲開發大全》
第一篇 android遊戲開發核心技術
第1章 android平台簡介 2
1.1 android的來龍去脈 2
1.2 掀起android的蓋頭來 2
1.2.1 選擇android的理由 2
1.2.2 android的應用程式框架 3
1.3 android開發環境的搭建 6
1.3.1 sdk的下載及安裝 6
1.3.2 eclipse集成開發環境的搭建 6
1.3.3 虛擬設備的創建與模擬器的運行 9
1.3.4 第一個android程式 11
1.3.5 android程式的監控與調試 14
1.4 小結 15
第2章 android遊戲開發之前台渲染 16
2.1 創建android用戶界面 16
2.1.1 布局管理 16
2.1.2 常用控制項及其事件處理 22
2.2 圖形與動畫在android中的實現 24
2.2.1 簡單圖形的繪製 24
.2.2.2 貼圖的藝術 26
2.2.3 自定義動畫的播放 27
2.3 android平台下的多媒體開發 30
2.3.1 音頻的播放 30
2.3.2 視頻的播放 33
2.3.3 camera圖像採集 36
2.4 小結 38
第3章 android遊戲開發之互動式通信 39
3.1 android應用程式的基本組件 39
3.1.1 activity組件 39
3.1.2 service組件 41
3.1.3 broadcast receiver組件 42
3.1.4 content provider組件 43
3.1.5 androidmanifest.xml檔案簡介 43
3.2 應用程式的內部通信 47
3.2.1 訊息的處理者——handler類簡介 47
3.2.2 使用handler進行內部通信 48
3.3 應用程式組件之間的通信 50
3.3.1 intent類簡介 50
3.3.2 應用程式組件——intentfilter類簡介 52
3.3.3 示例1:與android系統組件通信 53
3.3.4 示例2:應用程式組件間通信示例activity部分的開發 54
3.3.5 示例3:應用程式組件間通信示例service部分的開發 56
3.4 小結 59
第4章 android遊戲開發之數據存儲和感測器 60
4.1 在android平台上實現數據存儲 60
4.1.1 私有資料夾檔案的寫入與讀取 60
4.1.2 讀取resources和assets中的檔案 63
4.1.3 輕量級資料庫sqlite簡介 65
4.1.4 sqlite的使用示例 69
4.1.5 數據共享者——content provider的使用 72
4.1.6 簡單的數據存儲——preferences的使用 76
4.2 android平台下感測器套用的開發 78
4.2.1 感測器套用開發流程 78
4.2.2 常用感測器簡介 79
4.2.3 感測器套用開發示例 81
4.2.4 使用sensorsimulator模擬感測器變化 83
4.2.5 使用新版本的api開發感測器套用 86
4.3 小結 88
第5章 android遊戲開發之網路編程 89
5.1 基於socket套接字的網路編程 89
5.2 基於http協定的網路編程 93
5.2.1 通過url獲取網路資源 93
5.2.2 在android中解析xml 95
5.3 android平台下的google map 95
5.3.1 定位類genpoint與顯示地圖類mapview的搭配使用 95
5.3.2 位置監聽器——locationlistener的使用 99
5.4 其他網路通信方式 101
5.4.1 使用wifi進行開發 101
5.4.2 藉助於藍牙(bluetooth)技術進行開發 102
5.5 小結 102
第6章 不一樣的遊戲,一樣的精彩 103
6.1 射擊類遊戲 103
6.1.1 遊戲玩法 103
6.1.2 視覺效果 104
6.1.3 遊戲內容設計 104
6.2 競速類遊戲 104
6.2.1 遊戲玩法 105
6.2.2 視覺效果 105
6.2.3 遊戲內容設計 106
6.3 益智類遊戲 106
6.3.1 遊戲玩法 106
6.3.2 視覺效果 107
6.3.3 遊戲內容設計 107
6.4 角色扮演遊戲 107
6.4.1 遊戲玩法 108
6.4.2 視覺效果 108
6.4.3 遊戲內容設計 109
6.5 闖關動作類遊戲 109
6.5.1 遊戲玩法 109
6.5.2 視覺效果 110
6.5.3 遊戲內容設計 110
6.6.1 遊戲玩法 110
6.6.2 視覺效果 111
6.6.3 遊戲內容設計 112
6.7.1 遊戲玩法 112
6.7.2 視覺效果 113
6.7.3 遊戲內容設計 113
6.8 養成類遊戲 113
6.8.1 遊戲玩法 114
6.8.2 視覺效果 114
6.8.3 遊戲內容設計 114
6.9 經營類遊戲 115
6.9.1 遊戲玩法 115
6.9.2 視覺效果 115
6.9.3 遊戲內容設計 116
6.10 體育類遊戲 116
6.10.1 遊戲玩法 116
6.10.2 視覺效果 117
6.10.3 遊戲內容設計 117
6.11 小結 117
第7章 遊戲背後的數學與物理 118
7.1 編程中經常用到的數理知識 118
7.1.1 數學方面 118
7.1.2 物理方面 120
7.2 物理小球在遊戲中的套用 121
7.2.1 開發運動體movable類的代碼 121
7.2.2 開發物理引擎ballthread類的代碼 123
7.2.3 視圖類——開發ballview類的代碼 126
7.2.4 繪製執行緒——開發drawthread類的代碼 129
7.2.5 開發activity部分的代碼 131
7.3 粒子系統 132
7.3.1 粒子對象類——開發粒子對象particle類和粒子集合particleset類 132
7.3.2 開發焰火粒子系統的物理引擎particlethread類的代碼 134
7.3.3 視圖類——開發視圖類particleview及其相關類 135
7.3.4 開發程式activity部分的代碼 137
7.3.5 將焰火粒子系統改為瀑布粒子系統 138
7.4 碰撞檢測技術 139
7.4.1 碰撞檢測技術基礎 139
7.4.2 遊戲中實體對象之間的碰撞檢測 140
7.4.3 遊戲實體對象與環境之間的碰撞檢測 143
7.5 小結 144
第8章 遊戲中的人工智慧 145
8.1 讓怪物聰明起來——android中的路徑搜尋 145
8.1.1 路徑搜尋示例基本框架的搭建 145
8.1.2 路徑搜尋示例的控制臺實現 147
8.1.3 路徑搜尋示例gameview的實現 151
8.1.4 深度優先路徑搜尋dfs 154
8.1.5 廣度優先路徑搜尋bfs 156
8.1.6 路徑搜尋算法——dijkstra 159
8.1.7 用a*算法最佳化搜尋 162
8.2 有限狀態機 164
8.2.1 何為有限狀態機 164
8.2.2 有限狀態機的簡單實現 165
8.2.3 有限狀態機的oo實現 170
8.3 小結 172
第9章 遊戲開發小秘技 173
9.1 地圖編輯器與關卡設計 173
9.1.1 關卡地圖的重要性 173
9.1.2 圖片分割界面的實現 175
9.1.3 地圖設計界面的實現 179
9.2 遊戲中的模糊邏輯 185
9.2.1 模糊的才是真實的 185
9.2.2 如何在android中將遊戲模糊化 186
9.3 遊戲的基本最佳化技巧 188
9.3.1 代碼上的小藝術 188
9.3.2 android中的查找表技術 190
9.3.3 遊戲的感覺和性能問題 192
9.4 小結 193
10.1 物理引擎很重要 194
10.1.1 什麼是物理引擎 194
10.1.2 常見的物理引擎 194
10.2 2d的王者jbox2d 197
10.2.1 基本的物理學概念 197
10.2.2 jbox2d中常用類的介紹 199
10.3 球體撞擊木塊金字塔案例 203
10.3.1 案例運行效果 204
10.3.2 案例的基本框架結構 204
10.3.3 常量類——constant 205
10.3.4 抽象類——mybody 206
10.3.5 圓形剛體類——mycirclecolor 206
10.3.6 生成剛體形狀的工具類——box2dutil 207
10.3.7 顏色工具類——colorutil 208
10.3.8 主控制類——mybox2dactivity 209
10.3.9 顯示界面類——gameview 211
10.3.10 繪製執行緒類——drawthread 212
10.4.1 一般碰撞版 213
10.4.2 碰撞後消失版 215
10.5 旋轉關節蹺蹺板案例 220
10.5.1 旋轉關節介紹 220
10.5.2 多邊形剛體類mypolygoncolor的開發 220
10.5.3 生成剛體形狀的工具類——box2dutil 221
10.5.4 將場景中的剛體擺放到位 222
10.5.5 增加旋轉關節 223
10.6 旋轉關節鏈條擺案例 225
10.6.1 案例運行效果 225
10.6.2 案例的機械結構 225
10.6.3 主控制類——mybox2dactivity 226
10.7 組合機械結構案例 227
10.7.1 案例的運行效果 227
10.7.2 整體場景的機械結構 228
10.7.3 案例的基本框架結構 229
10.7.4 圓形剛體類——mycirclecolor 229
10.7.5 生成剛體形狀的工具類——box2dutil 230
10.7.6 主控制類——mybox2dactivity 230
10.7.7 遊戲界面類——gameview 232
10.7.8 繪製執行緒類——drawthread 233
10.8 小結 233
第11章 opengl es套用開發基礎 234
11.1 opengl es概述及3d基本圖形繪製 234
11.1.1 opengl及opengl es簡介 234
11.1.2 3d基本知識 235
11.1.3 使用索引的不同繪製方式 236
11.1.4 用索引法繪製三角形的案例 238
11.1.5 不使用索引數據繪製 244
11.2 正交投影和透視投影 245
11.2.1 正交投影 246
11.2.2 透視投影 246
11.2.3 兩種投影方式的原理及視口 247
11.2.4 兩種投影方式的案例 248
11.3 光照與材質 250
11.3.1 光照的3種組成元素 250
11.3.2 定向光與定位光 252
11.3.3 法向量 253
11.3.4 材質 254
11.3.5 兩種光源的案例 255
11.4 紋理及紋理映射 257
11.4.1 紋理映射基本原理 257
11.4.2 使用紋理映射的案例 258
11.4.3 幾種紋理拉伸方式 261
11.4.4 幾種紋理過濾方式 262
11.5 攝像機和霧特效 263
11.5.1 攝像機的設定 264
11.5.2 設定合理的視角 264
11.5.3 霧特效的開發 266
11.6 典型幾何體的開發 267
11.6.1 圓柱 268
11.6.2 圓錐 273
11.6.3 球 276
11.6.4 橢圓體 278
11.6.5 膠囊體 281
11.6.6 幾何體大集合 284
11.7 小結 286
第二篇 android遊戲開發實戰綜合案例
第12章 滾屏動作遊戲——太空保衛戰 288
12.1 遊戲的背景及功能概述 288
12.1.1 背景概述 288
12.1.2 功能簡介 288
12.2 遊戲的策劃及準備工作 290
12.2.1 遊戲的策劃 290
12.2.2 android平台下遊戲的準備工作 291
12.3 遊戲的架構 292
12.3.1 各個類的簡要介紹 292
12.3.2 遊戲的框架簡介 293
12.4 輔助界面相關類的實現 294
12.4.1 主控制類——planeactivity的實現 294
12.4.2 歡迎界面welcomeview類 296
12.4.3 其他輔助界面的介紹 300
12.5 遊戲界面的框架設計 303
12.6 遊戲實體相關類的實現 306
12.6.1 飛機plane類的實現 306
12.6.2 敵方飛機enemyplane類的實現 309
12.6.3 子彈bullet類的實現 311
12.6.4 其他相關類的實現 312
12.7 遊戲界面的完善 314
12.7.1 地圖類maps的實現 314
12.7.2 背景滾動類gameviewback groundthread的實現 316
12.7.3 物體移動執行緒movethread的實現 317
12.7.4 鍵盤監聽執行緒keythread的實現 319
12.7.5 圖片初始化方法initbitmap的實現 320
12.7.6 繪製方法ondraw的實現 322
12.8 遊戲的最佳化與改進 324
第13章 棋牌遊戲——中國象棋人機對弈 325
13.1 遊戲的背景及功能概述 325
13.1.1 背景概述 325
13.1.2 功能介紹 325
13.2 遊戲的策劃及準備工作 327
13.2.1 遊戲的策劃 327
13.2.2 android平台下遊戲的準備工作 327
13.3 遊戲的架構 329
13.3.1 各個類簡要介紹 329
13.3.2 遊戲框架簡介 330
13.4 主控制類——chess_djb_activity 331
13.5 輔助界面相關類 334
13.6 遊戲界面相關類 336
13.6.1 遊戲界面繪製類gameview 336
13.6.2 遊戲界面常量類viewconstant 353
13.7 走法引擎相關類 354
13.7.1 常量類constant 354
13.7.2 工具類chess_loadutil 359
13.7.3 走法引擎主類loadutil 360
13.7.4 走法的排序規則類mycomparator 371
13.7.5 記錄走棋步驟類stackplaychess 371
13.8 遊戲的最佳化與改進 371
第14章 物理感測器遊戲——
小球快跑 (3d版) 372
14.1 遊戲背景及功能概述 372
14.1.1 背景概述 372
14.1.2 功能簡介 372
14.2 遊戲的策劃及準備工作 374
14.2.1 遊戲的策劃 374
14.2.2 小球快跑遊戲開發的準備工作 375
14.3 遊戲的架構 375
14.3.1 遊戲的總體架構 376
14.3.2 遊戲的類結構 376
14.4 主控制類——driftball類的開發 378
14.4.1 driftball類的代碼框架 378
14.4.2 driftball類的主要成員方法的實現 379
14.5 遊戲主選單的開發 381
14.5.1 歡迎界面類——welcome view類的代碼框架 381
14.5.2 welcomeview類主要成員方法 382
14.5.3 welcomethread類的開發 383
14.5.4 選單界面的用戶互動事件處理 384
14.6 遊戲界面模組的開發 385
14.6.1 遊戲界面類——gameview的成員變數 385
14.6.2 gameview的成員方法簡介 387
14.6.3 遊戲界面繪製執行緒——gamethread類的代碼框架 387
14.6.4 gamemenuthread類的開發 388
14.6.5 用戶互動事件處理 389
14.7 遊戲中各個圖層的開發 391
14.7.1 地圖圖層的開發 391
14.7.2 其他圖層的開發與實現 392
14.8 遊戲後台邏輯的開發 395
14.8.1 小球的運動控制 395
14.8.2 小球的碰撞檢測 396
14.8.3 大炮相關類cannon和missile的開發 400
14.9 感測器計算模組的開發 403
14.9.1 手機姿態變化監聽器——balllistener類的開發 403
14.9.2 工具類——rotateutil類的代碼框架 404
14.9.3 工具類——rotateutil類的開發 406
14.10 遊戲的最佳化與改進 408
15.1 遊戲的背景及功能概述 410
15.1.1 背景概述 410
15.1.2 功能介紹 410
15.2 遊戲的策劃及準備工作 413
15.2.1 遊戲的策劃 413
15.2.2 android平台下遊戲開發的準備工作 414
15.3 遊戲的架構 415
15.3.1 各個類的簡要介紹 416
15.3.2 遊戲框架簡介 417
15.4 主控制類tafanggameactivity和資料庫類dbutil 418
15.4.1 主控制類——tafanggame activity主要框架 418
15.4.2 主控制類——tafanggame activity中部分資料庫的實現 421
15.4.3 主控制類——tafanggame activity中對話框的開發 423
15.4.4 資料庫類dbutil的開發 427
11.5 界面相關類 428
15.5.1 歡迎界面welcomeview類的介紹 428
15.5.2 主界面mainmenusurfaceview類的介紹 430
15.5.3 音效設定界面musicsurfaceview類的介紹 434
15.5.4 遊戲結束界面gameoverview類和幫助界面helpview類的介紹 435
15.5.5 積分榜界面highjifensurfaceview類的介紹 435
15.6 遊戲界面gameview及相關類 438
15.6.1 精靈怪物target類 439
15.6.2 箭塔singlejianta類 443
15.6.3 箭shell類 444
15.6.4 精靈怪物的出擊現場——targetnumthread 447
15.6.5 箭塔控制發射執行緒——shellnumthread 449
15.6.6 遊戲地圖矩陣模擬化 451
15.6.7 擺放箭塔守護城池 452
15.6.8 遊戲中的2.5d效果 455
15.6.9 彈指間怪物灰飛煙滅——遊戲水晶 455
15.7 遊戲的最佳化和改進 459
16.1 遊戲的背景及功能概述 460
16.1.1 背景概述 460
16.1.2 功能簡介 460
16.2 遊戲的策劃及準備工作 465
16.2.1 遊戲的策劃 465
16.2.2 android平台下遊戲的準備工作 465
16.3 遊戲的架構 467
16.3.1 遊戲的模組架構 467
16.3.2 遊戲各個類的簡要介紹 468
16.4 地圖設計器的開發 470
16.4.1 底層地圖設計器的開發 470
16.4.2 上層地圖設計器的開發 474
16.5 activity和遊戲工具類的開發 475
16.5.1 主控制類——hdzgactivity的介紹 475
16.5.2 公式封裝類——gameformula的介紹 478
16.5.3 常量工具類constantutil的介紹 479
16.6 數據存取模組的開發 481
16.6.1 城池信息以及地圖層信息的封裝類 481
16.6.2 數據存取相關類的介紹 485
16.7 英雄角色模組的開發 488
16.7.1 hero類的代碼框架 488
16.7.2 英雄運動執行緒——herogo thread類的開發 491
16.7.3 輔助執行緒——herobackdata thread類的開發 493
16.8 表示層界面模組的開發 493
16.8.1 滾屏類——screenrollview類的開發 494
16.8.2 滾屏執行緒——screenroll thread的開發 495
16.8.3 遊戲界面gameview的框架介紹 496
16.8.4 遊戲界面繪製方法ondraw的介紹 498
16.8.5 遊戲界面螢幕監聽方法ontouch的介紹 500
16.8.6 遊戲界面後台執行緒game viewthread的介紹 502
16.9 管理面板模組的開發 503
16.9.1 人物屬性面板類manpanel view的開發 503
16.9.2 城池管理面板類citymanage view的開發 508
16.10 地圖中可遇實體模組的開發 511
16.10.1 繪製類——mydrawable的開發 511
16.10.2 抽象類——mymeetabledrawable的開發 513
16.10.3 森林類——forestdrawable的開發 514
16.10.4 可遇實體對象的調用流程 516
16.11 英雄技能模組的開發 518
16.11.1 技能抽象類——skill的開發 518
16.11.2 伐木技能類——lumber skill的開發 519
16.11.3 隨心步技能類——suixinbuskill的開發 520
16.12 遊戲提示模組的開發 520
16.12.1 提示模組抽象類——gamealert的開發 520
16.12.2 點擊確定按鈕顯示的信息類——plainalert的開發 521
16.12.3 顯示糧草危機信息類——foodalert的開發 522
16.12.4 輔助執行緒herobackdatathread中對foodalert的調用 524
16.13 遊戲的最佳化與改進 525
17.1 2d桌球的背景及功能概述 527
17.1.1 背景概述 527
17.1.2 功能簡介 527
17.2 遊戲的策劃及準備工作 530
17.2.1 遊戲的策劃 530
17.2.2 android平台下遊戲的準備工作 530
17.3 遊戲的架構 531
17.3.1 遊戲的框架簡介 531
17.3.2 各個類的簡要介紹 532
17.4 公共類的實現 534
17.4.1 主控制類——gameactivity的代碼框架 534
17.4.2 gameactivity類主要成員變數及方法的實現 536
17.4.3 常量類——constant的實現 540
17.5 輔助界面相關類的實現 542
17.5.1 歡迎動畫界面welcomeview類的實現 542
17.5.2 主選單界面mainmenuview的代碼框架 544
17.5.3 主界面類——mainmenu view部分成員方法的實現 545
17.5.4 主界面動畫執行緒類view drawthread的實現 548
17.5.5 排行榜界面highscore view的代碼框架 549
17.5.6 highscoreview類的部分方法的實現 550
17.6 遊戲界面相關類的實現 552
17.6.1 遊戲界面gameview類的代碼框架 552
17.6.2 gameview類部分成員方法的實現 553
17.6.3 鍵盤監聽執行緒keythread類的實現 557
17.6.4 球運動的執行緒ballgothread類的實現 558
17.7 情景相關類的實現 559
17.7.1 球檯table類的實現 559
17.7.2 桌球ball類的代碼框架 561
17.7.3 ball類部分成員方法的實現 563
17.7.4 球桿cue類的實現 566
17.8 自定義控制項及工具類的實現 568
17.8.1 球與球碰撞檢測的工具類collisionutil的實現 568
17.8.2 定時器timer類的實現 571
17.8.3 主選單按鈕mainmenu button類的實現 572
17.8.4 獲取日期的工具dateutil 類的實現 573
17.9 遊戲的最佳化與改進 574
18.1 3d版推箱子的背景及功能概述 575
18.1.1 背景概述 575
18.1.2 功能簡介 575
18.2 遊戲的策劃及準備工作 579
18.2.1 遊戲的策劃 579
18.2.2 android平台下遊戲開發的準備工作 579
18.3 遊戲的架構 580
18.3.1 遊戲的框架簡介 580
18.3.2 各個類的簡要介紹 581
18.4 公共類的實現 582
18.4.1 主控制類——myactivity的代碼框架 582
18.4.2 myactivity類成員方法的實現 584
18.4.3 常量類constant的實現 585
18.5 輔助界面相關類的實現 587
18.5.1 歡迎動畫界面welcomeview類的實現 587
18.5.2 主選單界面mainview的實現 589
18.6 遊戲界面相關類 590
18.6.1 遊戲界面mysurfaceview類的設計與實現 590
18.6.2 鍵盤監聽執行緒keythread 599
18.7 自定義控制項及工具類 600
18.7.1 縮放圖片的方法picloadutil 600
18.7.2 主選單上的按鈕類mainmenubutton 601
18.8 情景相關類的實現 602
18.8.1 機器人類的代碼框架 602
18.8.2 機器人類成員方法的實現 603
18.8.3 機器人組類robotgroup類的實現 605
18.8.4 機器人組類成員方法的實現 606
18.8.5 圓面circle類的實現 607
18.8.6 矩形紋理類texturerect的實現 609
18.8.7 紋理矩形組類texturerect group的實現 610
18.8.8 牆類wall的實現 611
18.8.9 牆wall類成員方法的實現 612
18.8.10 箱子cube類的實現 616
18.8.11 箱子組cubegroup類的實現 618
18.8.12 箱子移動cubego類的代碼框架 619
18.8.13 箱子移動cubego類的成員方法的實現 620
18.8.14 地板類floor的實現 621
18.10 遊戲的最佳化與改進 624
19.1 遊戲背景及功能概述 625
19.1.1 遊戲開發背景 625
19.1.2 遊戲功能概述 625
19.2.1 遊戲策劃 628
19.2.2 遊戲開發的準備工作 628
19.3 遊戲的框架 630
19.3.1 遊戲主要用到的技術 631
19.3.2 遊戲各個類的介紹 631
19.3.3 遊戲的基本框架 633
19.4 公共類 634
19.4.1 主控制類——mybox2dactivity 634
19.4.2 常量類constant 635
19.5 主界面的設計與實現 644
19.5.1 鼠頭和貓頭類taj 644
19.5.2 鼠頭和貓頭控制執行緒——tjthread 646
19.5.3 主界面mainmenuview 646
19.5.4 刷幀執行緒mainmenudrawthread 653
19.6 工具類 654
19.6.1 載入及縮放圖片的工具類picloadutil 654
19.6.2 生成剛體工具類box2dutil 655
19.6.3 聲音工具類soundutil 656
19.7 剛體相關類 657
19.7.1 多邊形類mypolygonimg 657
19.7.2 貓頭類bodycat 659
19.7.3 冰塊類bodyice 660
19.7.4 木條類bodywood 661
19.7.5 剛體類型枚舉類bodytype 661
19.7.6 剛體查詢工具類bodysearchutil 662
19.8 遊戲界面相關類 663
19.8.1 皮筋類pijin 663
19.8.2 記錄分數類score 664
19.8.3 刷幀執行緒drawthread 665
19.8.4 遊戲界面類gameview 668
19.9 遊戲最佳化與改進 673
前言 為什麼要寫一本這樣的書
Android正以前所未有的速度聚集著來自世界各地的開發者,越來越多的創意被套用到Android應用程式的開發中,大有席捲整個手機產業的趨勢。
面對如此火爆的Android大潮,一些有關Android的技術書籍也開始登上各地書架。但是縱觀這些本來就為數不多的Android書籍,卻沒有一本是關於Android遊戲開發專題的,而手機遊戲歷來是
移動開發 中最重要的部分。
本書正是在這種情況下應運而生的,作為國內第一本講解Android遊戲案例開發的專業書籍,作者為這本書傾注了很多的心血。書中既有對Android應用程式框架的介紹,也有對遊戲開發相關知識的講解,同時還有多個Android平台下的實際遊戲案例。希望可以快速幫助讀者提高在Android平台下進行遊戲開發的能力。
內容導讀
本書內容分為兩篇,第1篇主要介紹Android平台下應用程式的框架和基礎開發知識,同時還介紹了遊戲開發相關的知識,主要內容安排如下。
章名 主要內容
第1章Android平台簡介
介紹Android的來龍去脈,並介紹Android應用程式的框架,然後對Android的開發環境進行搭建和調試
第2章Android遊戲開發之前台渲染
對Android的用戶界面進行詳細介紹,同時講解圖形、動畫、音頻、視頻的實現,並對圖像採集技術進行講述
第3章Android遊戲開發之互動式通信
簡要介紹應用程式的基本組件,詳細介紹應用程式內部或組件之間的通信方式
第4章Android遊戲開發之數據存儲和感測器
通過實例介紹Android平台下SQLite資料庫與感測器的原理及使用方法
第5章Android遊戲開發之網路編程
首先對Socket套接字以及HTTP進行介紹,然後通過一個實例講解GoogleMap套用的實現
第6章不一樣的遊戲,一樣的精彩
介紹不同類型遊戲的特色及開發特點
第7章遊戲背後的數學與物理