Android遊戲開發大全

Android遊戲開發大全

《Android遊戲開發大全》是2011年人民郵電出版社出版的書籍,作者是吳亞峰、蘇亞光。本書主要介紹了的Android遊戲的開發方法和套用技巧。

基本信息

叢書名: 移動開發系列叢書

ISBN:9787115264930

出版日期:2012 年1月

開本:16開

頁碼:674

版次:1-1

編輯推薦

Android遊戲開發大全 Android遊戲開發大全

涵蓋遊戲開發的全部技術,如前台渲染、界面布局、網路開發、資料庫、感測器、人工智慧算法、流行的物理引擎及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 冒險遊戲 110

6.6.1 遊戲玩法 110

6.6.2 視覺效果 111

6.6.3 遊戲內容設計 112

6.7 策略遊戲 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章 遊戲的心臟——物理引擎 194

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 簡易打磚塊案例 213

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章 塔防遊戲——精靈塔防 410

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章 策略遊戲——回到戰國 460

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章 體育遊戲——2d迷你桌球 527

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章 益智遊戲——3d版推箱子 575

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.9 推箱子地圖設計器的開發 623

18.10 遊戲的最佳化與改進 624

第19章 物理引擎遊戲——盛怒的老鼠 625

19.1 遊戲背景及功能概述 625

19.1.1 遊戲開發背景 625

19.1.2 遊戲功能概述 625

19.2 遊戲策劃及準備工作 628

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章遊戲背後的數學與物理

相關詞條

相關搜尋

熱門詞條

聯絡我們