關(guān)于我們
書單推薦
新書推薦
|
Android 游戲案例開發(fā)大全 第4版
內(nèi) 容 提 要
本書內(nèi)容分為兩大部分:首先講解了Android游戲開發(fā)核心技術(shù),主要包括Android游戲開發(fā)的前臺渲染、交互式通信、數(shù)據(jù)存儲和傳感器、網(wǎng)絡(luò)編程、游戲背后的數(shù)學(xué)與物理、游戲地圖開發(fā)、游戲開發(fā)小秘技、JBox2D物理引擎、3D應(yīng)用開發(fā)基礎(chǔ)等;接下來介紹Android游戲開發(fā)實(shí)戰(zhàn)綜合案例,包括多種流行的游戲類型,如滾屏動作類游戲—《坦克大戰(zhàn)》、網(wǎng)絡(luò)游戲—《風(fēng)火三國》、益智類游戲—《Wo!Water!》、3D塔防類游戲—《三國塔防》、策略游戲—《大富翁》、休閑類游戲—《切切樂》、休閑類游戲—《3D冰球》等。
本書適合Android初學(xué)者、游戲開發(fā)人員閱讀,也可作為高校相關(guān)專業(yè)的學(xué)習(xí)用書或培訓(xùn)學(xué)校的教材。
在介紹基礎(chǔ)內(nèi)容時,每個知識點(diǎn)都配有相應(yīng)的實(shí)例,通過這些實(shí)例,讀者可以更好地理解書中所介紹的知識。
7個大的游戲案例,包括休閑游戲、益智游戲、動作游戲、塔防游戲、策略游戲等不同的游戲類型,每種游戲類型的案例開發(fā)都有其獨(dú)特的地方
本書中所有案例的完整源代碼都更新為Android Studio版本,便于讀者緊跟潮流
吳亞峰,畢業(yè)于北京郵電大學(xué),后留學(xué)澳大利亞臥龍崗大學(xué)取得碩士學(xué)位。1998年開始從事Java應(yīng)用的開發(fā),有10多年的Java開發(fā)與培訓(xùn)經(jīng)驗(yàn)。主要的研究方向?yàn)镺penGL ES、WebGL、Vulkan及手機(jī)游戲。同時為手機(jī)游戲、移動3D應(yīng)用獨(dú)立軟件開發(fā)工程師,并兼任百納科技Java培訓(xùn)中心首xi培訓(xùn)師。近十年來為數(shù)十家企業(yè)培養(yǎng)了上千名軟件開發(fā)人員,曾編寫過《Cocos2d-X案例開發(fā)大全》《Cocos2d-X 3.0游戲開發(fā)實(shí)戰(zhàn)詳解》《Cocos2d-X 3.x 游戲案例開發(fā)大全》《OpenGL ES 3.x游戲開發(fā)(上下卷)》《H5和WebGL 3D開發(fā)實(shí)戰(zhàn)詳解》等多本暢銷技術(shù)書籍。2008年初開始關(guān)注Android平臺下的3D應(yīng)用開發(fā),并開發(fā)出一系列的Android應(yīng)用程序與3D游戲。
目 錄
第 1章 Android平臺簡介 1
1.1 Android的來龍去脈 1
1.2 掀起Android的蓋頭來 1
1.2.1 選擇Android的理由 1
1.2.2 Android的應(yīng)用程序框架 2
1.3 Android開發(fā)環(huán)境的搭建 4
1.3.1 Android Studio和Android SDK的下載 4
1.3.2 Android Studio和Android SDK的安裝 4
1.3.3 開發(fā)第 一個Android程序 8
1.3.4 Android程序的監(jiān)控與調(diào)試 13
1.4 已有Android Studio項目的導(dǎo)入與
運(yùn)行 14
1.5 本章小結(jié) 16
第 2章 Android游戲開發(fā)中的前臺渲染 17
2.1 創(chuàng)建Android用戶界面 17
2.1.1 布局管理 17
2.1.2 常用控件及其事件處理 22
2.2 圖形與動畫在Android中的實(shí)現(xiàn) 24
2.2.1 簡單圖形的繪制 24
2.2.2 貼圖的藝術(shù) 25
2.2.3 剪裁功能 27
2.2.4 自定義動畫的播放 30
2.3 Android平臺下的多媒體開發(fā) 32
2.3.1 音頻的播放 32
2.3.2 視頻的播放 35
2.3.3 Camera圖像采集 37
2.4 本章小結(jié) 39
第3章 Android游戲開發(fā)中的交互式
通信 40
3.1 Android應(yīng)用程序的基本組件 40
3.1.1 Activity組件 40
3.1.2 Service組件 42
3.1.3 Broadcast Receiver組件 42
3.1.4 Content Provider組件 43
3.1.5 AndroidManifest.xml文件
簡介 44
3.2 應(yīng)用程序的內(nèi)部通信 46
3.2.1 消息的處理者—Handler類簡介 47
3.2.2 使用Handler進(jìn)行內(nèi)部通信 48
3.3 應(yīng)用程序組件之間的通信 49
3.3.1 Intent類簡介 50
3.3.2 應(yīng)用程序組件—IntentFilter類簡介 51
3.3.3 示例1:與Android系統(tǒng)組件通信 52
3.3.4 示例2:應(yīng)用程序組件間通信示例Activity部分的開發(fā) 53
3.3.5 示例3:應(yīng)用程序組件間通信示例Service部分的開發(fā) 55
3.4 本章小結(jié) 57
第4章 Android游戲開發(fā)中的數(shù)據(jù)存儲和傳感器 58
4.1 在Android平臺上實(shí)現(xiàn)數(shù)據(jù)存儲 58
4.1.1 私有文件夾文件的寫入與
讀取 58
4.1.2 讀取Resources和Assets中的文件 61
4.1.3 輕量級數(shù)據(jù)庫SQLite簡介 63
4.1.4 SQLite的使用示例 65
4.1.5 數(shù)據(jù)共享者—Content Provider的使用 68
4.1.6 簡單的數(shù)據(jù)存儲—Preferences的使用 71
4.2 Android平臺下傳感器應(yīng)用的開發(fā) 73
4.2.1 基本開發(fā)步驟 74
4.2.2 光傳感器 76
4.2.3 溫度傳感器 77
4.2.4 接近傳感器 79
4.2.5 加速度傳感器 80
4.2.6 磁場傳感器 82
4.2.7 姿態(tài)傳感器 84
4.2.8 陀螺儀傳感器 87
4.2.9 加速度傳感器綜合案例 88
4.2.10 傳感器的坐標(biāo)軸問題 91
4.3 本章小結(jié) 94
第5章 Android游戲開發(fā)中的網(wǎng)絡(luò)編程 95
5.1 基于Socket套接字的網(wǎng)絡(luò)編程 95
5.2 基于HTTP的網(wǎng)絡(luò)編程 98
5.2.1 通過URL獲取網(wǎng)絡(luò)資源 98
5.2.2 在Android中解析XML 100
5.3 藍(lán)牙通信 101
5.3.1 基礎(chǔ)知識 101
5.3.2 簡單的案例 101
5.4 簡單的多用戶并發(fā)網(wǎng)絡(luò)游戲編程
架構(gòu) 112
5.4.1 基本知識 112
5.4.2 雙人聯(lián)網(wǎng)操控飛機(jī)案例 114
5.5 本章小結(jié) 123
第6章 不一樣的游戲,一樣的精彩應(yīng)用 125
6.1 射擊類游戲 125
6.1.1 游戲玩法 125
6.1.2 視覺效果 125
6.1.3 游戲內(nèi)容設(shè)計 126
6.2 競速類游戲 127
6.2.1 游戲玩法 127
6.2.2 視覺效果 127
6.2.3 游戲內(nèi)容設(shè)計 127
6.3 益智類游戲 128
6.3.1 游戲玩法 128
6.3.2 視覺效果 129
6.3.3 游戲內(nèi)容設(shè)計 129
6.4 角色扮演游戲 129
6.4.1 游戲玩法 129
6.4.2 視覺效果 130
6.4.3 游戲內(nèi)容設(shè)計 131
6.5 闖關(guān)動作類游戲 131
6.5.1 游戲玩法 132
6.5.2 視覺效果 132
6.5.3 游戲內(nèi)容設(shè)計 132
6.6 冒險游戲 132
6.6.1 游戲玩法 133
6.6.2 視覺效果 133
6.6.3 游戲內(nèi)容設(shè)計 134
6.7 策略游戲 134
6.7.1 游戲玩法 134
6.7.2 視覺效果 135
6.7.3 游戲內(nèi)容設(shè)計 135
6.8 養(yǎng)成類游戲 135
6.8.1 游戲玩法 135
6.8.2 視覺效果 136
6.8.3 游戲內(nèi)容設(shè)計 136
6.9 經(jīng)營類游戲 137
6.9.1 游戲玩法 137
6.9.2 視覺效果 137
6.9.3 游戲內(nèi)容設(shè)計 138
6.10 體育類游戲 138
6.10.1 游戲玩法 138
6.10.2 視覺效果 139
6.10.3 游戲內(nèi)容設(shè)計 139
6.11 本章小結(jié) 139
第7章 游戲背后的數(shù)學(xué)與物理 140
7.1 編程中經(jīng)常用到的數(shù)理知識 140
7.1.1 數(shù)學(xué)方面 140
7.1.2 物理方面 142
7.2 碰撞檢測技術(shù) 143
7.2.1 碰撞檢測技術(shù)基礎(chǔ) 143
7.2.2 游戲中實(shí)體對象之間的碰撞檢測 144
7.2.3 游戲?qū)嶓w對象與環(huán)境之間的碰撞檢測 146
7.2.4 穿透效應(yīng)問題 147
7.3 必知必會的計算幾何 148
7.3.1 GeoLib庫中常用基礎(chǔ)類的
介紹 148
7.3.2 無孔多邊形的相關(guān)知識 156
7.3.3 有孔多邊形的相關(guān)知識 159
7.3.4 有孔多邊形案例 162
7.3.5 顯示凸殼案例 166
7.3.6 多邊形切分案例 169
7.3.7 顯示包圍框以及多邊形的
矩形組合案例 173
7.3.8 旋轉(zhuǎn)與凸子區(qū)域案例 175
7.3.9 平滑與計算最短距離案例 177
7.3.10 多邊形縮放與不重疊案例 178
7.3.11 求多邊形對稱案例 180
7.3.12 多邊形集合運(yùn)算案例 181
7.4 本章小結(jié) 183
第8章 游戲地圖必知必會 184
8.1 兩種不同單元形狀的地圖 184
8.1.1 正方形單元地圖 184
8.1.2 正方形單元地圖案例 186
8.1.3 正六邊形單元地圖 187
8.1.4 正六邊形單元地圖案例 189
8.1.5 正方形單元和正六邊形單元地圖的比較 191
8.2 正六邊形單元地圖的路徑搜索 191
8.2.1 路徑搜索示例基本框架的
搭建 191
8.2.2 深度優(yōu)先路徑搜索DFS 197
8.2.3 廣度優(yōu)先路徑搜索 199
8.2.4 路徑搜索算法—Dijkstra
算法 201
8.2.5 用A*算法優(yōu)化算法 204
8.3 正六邊形單元地圖的網(wǎng)格定位 206
8.3.1 基本知識 206
8.3.2 簡單的案例 206
8.4 地圖編輯器與關(guān)卡設(shè)計 208
8.4.1 關(guān)卡地圖的重要性 208
8.4.2 圖片分割界面的實(shí)現(xiàn) 210
8.4.3 地圖設(shè)計界面的實(shí)現(xiàn) 214
8.5 多分辨率屏幕的自適應(yīng) 219
8.5.1 非等比例縮放 219
8.5.2 非等比例縮放案例 220
8.5.3 等比例縮放并剪裁 223
8.5.4 等比例縮放并剪裁案例 224
8.5.5 等比例縮放并留白 225
8.5.6 等比例縮放并留白案例 226
8.6 本章小結(jié) 227
第9章 游戲開發(fā)小秘技 228
9.1 有限狀態(tài)機(jī) 228
9.1.1 什么是有限狀態(tài)機(jī) 228
9.1.2 有限狀態(tài)機(jī)的簡單實(shí)現(xiàn) 229
9.1.3 有限狀態(tài)機(jī)的OO實(shí)現(xiàn) 233
9.2 游戲中的模糊邏輯 235
9.2.1 模糊的才是真實(shí)的 235
9.2.2 如何在Android中將游戲
模糊化 236
9.3 游戲的基本優(yōu)化技巧 238
9.3.1 代碼上的小藝術(shù) 238
9.3.2 Android中的查找表技術(shù) 239
9.3.3 游戲的感覺和性能問題 241
9.4 多點(diǎn)觸控技術(shù)的使用 242
9.4.1 基本知識 242
9.4.2 一個簡單的案例 243
9.5 本章小結(jié) 247
第 10章 JBox2D物理引擎 248
10.1 物理引擎很重要 248
10.1.1 什么是物理引擎 248
10.1.2 常見的物理引擎 248
10.2 2D的王者JBox2D 251
10.2.1 基本的物理學(xué)概念 251
10.2.2 JBox2D中常用類的介紹 252
10.3 木塊金字塔被撞擊案例 262
10.3.1 案例運(yùn)行效果 262
10.3.2 案例的基本框架結(jié)構(gòu) 263
10.3.3 常量類—Constant 263
10.3.4 物體類—MyBody 264
10.3.5 圓形物體類—
MyCircleColor 264 10.3.6 矩形物體類— MyRectColor 265 10.3.7 生成物理形狀工具類— Box2DUtil 266 10.3.8 主控制類— MyBox2dActivity 267 10.3.9 顯示界面類— GameView 269 10.3.10 繪制線程類— DrawThread 270 10.4 簡易打磚塊案例 271 10.4.1 案例運(yùn)行效果 271 10.4.2 需要了解的類 271 10.4.3 碰撞監(jiān)聽器— MyContactListener類 274 10.4.4 碰撞檢測工具類— BodySearchUtil 275 10.4.5 繪制線程類— DrawThread 275 10.5 物體無碰撞下落案例 276 10.5.1 案例運(yùn)行效果 276 10.5.2 碰撞過濾器— ContactFilter類 277 10.5.3 碰撞過濾類的開發(fā) 277 10.5.4 多邊形剛體類— MyPolygonColor 278 10.5.5 生成剛體性狀的工具類— Box2DUtil 279 10.5.6 主控制類— MyBox2dActivity 279 10.5.7 顯示界面類— GameView 281 10.6 關(guān)節(jié)—Joint 282 10.6.1 關(guān)節(jié)定義—JointDef類 282 10.6.2 距離關(guān)節(jié)描述— DistanceJointDef類 282 10.6.3 距離關(guān)節(jié)案例— 小球下擺 283 10.6.4 旋轉(zhuǎn)關(guān)節(jié)描述— RevoluteJointDef類 286 10.6.5 旋轉(zhuǎn)關(guān)節(jié)案例—轉(zhuǎn)動的 風(fēng)扇與蹺蹺板 287 10.6.6 鼠標(biāo)關(guān)節(jié)描述— MouseJointDef類 290 10.6.7 鼠標(biāo)關(guān)節(jié)案例— 物體下落 290 10.6.8 移動關(guān)節(jié)描述— PrismaticJointDef類 294 10.6.9 移動關(guān)節(jié)案例—定向 移動的木塊 295 10.6.10 齒輪關(guān)節(jié)描述— GearJointDef類 297 10.6.11 齒輪關(guān)節(jié)案例—轉(zhuǎn)動的 齒輪 298 10.6.12 焊接關(guān)節(jié)描述— WeldJointDef類 301 10.6.13 焊接關(guān)節(jié)案例— 有彈性的木板 301 10.6.14 滑輪關(guān)節(jié)描述— PulleyJointDef類 304 10.6.15 滑輪關(guān)節(jié)案例—移動的 木塊 304 10.6.16 車輪關(guān)節(jié)描述— WheelJointDef類 306 10.6.17 車輪關(guān)節(jié)案例— 運(yùn)動的小車 307 10.6.18 繩索關(guān)節(jié)描述— RopeJointDef類 309 10.6.19 繩索關(guān)節(jié)案例—掉落的 糖果 309 10.7 模擬傳送帶案例 317 10.7.1 案例運(yùn)行效果 317 10.7.2 碰撞監(jiān)聽器— MyContactListener類 318 10.7.3 主控制類— MyBox2DActivity 320 10.7.4 線程類—DrawThread 321 10.8 光線投射案例 322 10.8.1 案例運(yùn)行效果 322 10.8.2 RayCastInput類與RayCastOutput類 322 10.8.3 光線檢測類— MyRayCast 323 10.8.4 主控制類— MyBox2dActivity 324 10.8.5 顯示界面類— GameView 325 10.9 模擬爆炸案例 327 10.9.1 案例運(yùn)行效果 327 10.9.2 光線投射回調(diào)接口— RayCastCallback 327 10.9.3 自身的光線投射回調(diào)類— RayCastClosestCallback 328 10.9.4 主控制類— MyBox2dActivity 328 10.10 流體模擬 329 10.10.1 流體模擬的相關(guān)知識 330 10.10.2 波浪制造機(jī)案例 333 10.10.3 軟體案例 336 10.10.4 固體案例 337 10.10.5 粉塵案例 339 10.11 本章小結(jié) 340 第 11章 3D應(yīng)用開發(fā)基礎(chǔ) 341 11.1 OpenGL和OpenGL ES簡介 341 11.2 3D基本知識 343 11.3 OpenGL ES 2.0 344 11.3.1 OpenGL ES 2.0的渲染 管線 345 11.3.2 不同的繪制方式 348 11.3.3 初識OpenGL ES 2.0應(yīng)用 程序 350 11.3.4 著色語言 355 11.3.5 正交投影 357 11.3.6 透視投影 361 11.3.7 光照的3種組成元素 364 11.3.8 定向光與定位光 366 11.3.9 點(diǎn)法向量和面法向量 371 11.3.10 紋理映射 372 11.4 利用OpenGL ES 2.0繪制真實(shí)的 流體 377 11.4.1 流體繪制的策略 377 11.4.2 一個簡單的案例 379 11.4.3 流體計算流水線回顧 388 11.5 OpenGL ES 3.x 389 11.5.1 程序升級的要點(diǎn) 390 11.5.2 一個簡單的案例 390 11.6 用OpenGL ES實(shí)現(xiàn)2D繪制 392 11.7 本章小結(jié) 394 第 12章 滾屏動作類游戲— 《坦克大戰(zhàn)》 395 12.1 游戲的背景及功能概述 395 12.1.1 背景概述 395 12.1.2 功能簡介 395 12.2 游戲的策劃及準(zhǔn)備工作 397 12.2.1 游戲的策劃 397 12.2.2 安卓平臺下游戲開發(fā)的準(zhǔn)備 工作 398 12.3 游戲的架構(gòu) 401 12.3.1 程序結(jié)構(gòu)的簡要介紹 401 12.3.2 服務(wù)器端的簡要介紹 401 12.4 服務(wù)器端的開發(fā) 402 12.4.1 數(shù)據(jù)類的開發(fā) 402 12.4.2 服務(wù)線程的開發(fā) 403 12.4.3 碰撞檢測類的開發(fā) 405 12.4.4 動作執(zhí)行類的開發(fā) 407 12.4.5 狀態(tài)更新類的開發(fā) 410 12.5 Android端的開發(fā) 411 12.5.1 數(shù)據(jù)類的開發(fā) 411 12.5.2 TankActivity類的開發(fā) 413 12.5.3 MySurfaceView類的開發(fā) 415 12.5.4 菜單類的開發(fā) 419 12.5.5 雜項類的開發(fā) 421 12.5.6 物體繪制類的開發(fā) 425 12.6 輔助工具類 426 12.6.1 搖桿工具類的開發(fā) 426 12.6.2 數(shù)據(jù)接收工具類的開發(fā) 428 12.6.3 數(shù)據(jù)發(fā)送工具類的開發(fā) 429 12.7 地圖設(shè)計器 431 12.8 游戲的優(yōu)化及改進(jìn) 432 第 13章 網(wǎng)絡(luò)游戲開發(fā)—《風(fēng)火三國》網(wǎng)絡(luò) 對戰(zhàn)游戲 433 13.1 游戲背景及功能概述 433 13.1.1 背景概述 433 13.1.2 功能簡介 434 13.2 游戲策劃及準(zhǔn)備工作 436 13.2.1 游戲的策劃 436 13.2.2 Android平臺下游戲開發(fā)的 準(zhǔn)備工作 436 13.3 游戲的框架 437 13.3.1 各個類的簡要介紹 437 13.3.2 游戲的框架簡介 438 13.4 共有類SanGuoActivity的實(shí)現(xiàn) 439 13.5 輔助界面相關(guān)類的實(shí)現(xiàn) 444 13.5.1 歡迎界面類 444 13.5.2 主菜單界面類 446 13.6 游戲界面相關(guān)類的實(shí)現(xiàn) 448 13.6.1 游戲界面框架 449 13.6.2 界面刷幀線程類 457 13.6.3 牌圖分割類 457 13.6.4 牌的控制類 459 13.6.5 出牌規(guī)則類 460 13.7 客戶端代理線程 461 13.8 服務(wù)器相關(guān)類 464 13.8.1 服務(wù)器主類 464 13.8.2 服務(wù)器代理線程 466 13.8.3 發(fā)牌類 473 13.8.4 初始化血點(diǎn)類 474 13.8.5 判斷裝備牌類 474 13.8.6 管理玩家距離類 475 13.9 本章小結(jié) 476 第 14章 益智類游戲—《Wo!Water!》 477 14.1 游戲背景和功能概述 477 14.1.1 背景概述 477 14.1.2 功能介紹 478 14.2 游戲的策劃及準(zhǔn)備工作 480 14.2.1 游戲的策劃 480 14.2.2 安卓平臺下游戲開發(fā)的準(zhǔn)備 工作 481 14.3 游戲的架構(gòu) 483 14.3.1 各個類的簡要介紹 484 14.3.2 游戲框架簡介 486 14.4 常量及公共類 488 14.4.1 游戲主控類MainActivity 488 14.4.2 游戲常量類Constant 490 14.4.3 游戲常量類 SourceConstant 491 14.5 界面相關(guān)類 494 14.5.1 游戲界面管理類ViewManager 494 14.5.2 主選關(guān)界面類BNMainSelectView 498 14.5.3 游戲界面類BNGameView 502 14.5.4 紋理矩形繪制類RectForDraw 512 14.5.5 屏幕自適應(yīng)相關(guān)類 515 14.6 線程相關(guān)類 517 14.6.1 物理刷幀線程類PhysicsThread 517 14.6.2 數(shù)據(jù)計算線程類 SaveThread 519 14.6.3 火焰線程類 FireUpdateThread 520 14.7 水粒子的相關(guān)類 521 14.7.1 水粒子物理封裝類 WaterObject 521 14.7.2 水紋理生成類 WaterForDraw 522 14.7.3 計算類PhyCaulate 525 14.8 游戲中著色器的開發(fā) 528 14.8.1 紋理的著色器 528 14.8.2 水紋理的著色器 529 14.8.3 加載界面閃屏紋理的 著色器 530 14.8.4 煙火的紋理著色器 531 14.9 游戲地圖數(shù)據(jù)文件介紹 531 14.10 游戲的優(yōu)化及改進(jìn) 533 第 15章 3D塔防類游戲— 《三國塔防》 534 15.1 背景和功能概述 534 15.1.1 游戲背景概述 534 15.1.2 游戲功能簡介 534 15.2 游戲的策劃及準(zhǔn)備工作 538 15.2.1 游戲的策劃 538 15.2.2 手機(jī)平臺下游戲的準(zhǔn)備 工作 538 15.3 游戲的架構(gòu) 542 15.3.1 各個類的簡要介紹 542 15.3.2 游戲框架簡介 545 15.4 公共類TaFang_Activity 546 15.5 界面顯示類 548 15.5.1 顯示界面類 GlSurfaceView 549 15.5.2 界面抽象父類TFAbstractView 549 15.5.3 加載資源界面類 LoadView 550 15.5.4 選關(guān)設(shè)置界面類 SelectView 551 15.5.5 武器界面類WeaponView 553 15.6 場景及相關(guān)類 553 15.6.1 總場景管理類AllSence 554 15.6.2 關(guān)卡場景類SenceLevel1 555 15.6.3 水面類Water 556 15.6.4 場景數(shù)據(jù)管理類 SenceData 556 15.7 輔助類 557 15.7.1 按鈕管理類MenuButton 557 15.7.2 單個怪物類 SingleMonster1 558 15.7.3 單個炮彈類SingleBullet1 561 15.7.4 標(biāo)志板管理類 BoardGroup 563 15.7.5 炮臺管理類PaoGroup 564 15.8 工具線程類 565 15.8.1 obj模型加載類LoadUtil 565 15.8.2 交點(diǎn)坐標(biāo)計算類IntersectantUtil 567 15.8.3 紋理管理器類TextureManager 567 15.8.4 水流動線程類 WaterThread 568 15.8.5 怪物炮彈控制線程類 MonPaoThread 569 15.9 粒子系統(tǒng)與著色器的開發(fā) 569 15.9.1 粒子系統(tǒng)的開發(fā) 570 15.9.2 著色器的開發(fā) 571 15.10 游戲的優(yōu)化及改進(jìn) 573 15.11 本章小結(jié) 574 第 16章 策略游戲—《大富翁》 575 16.1 游戲的背景和功能概述 575 16.1.1 背景概述 575 16.1.2 功能簡介 575 16.2 游戲的策劃及準(zhǔn)備工作 578 16.2.1 游戲的策劃 578 16.2.2 安卓平臺下游戲開發(fā)的準(zhǔn)備 工作 579 16.3 游戲的架構(gòu) 585 16.3.1 程序結(jié)構(gòu)的簡要介紹 585 16.3.2 游戲各個類的簡要介紹 585 16.4 地圖設(shè)計器的開發(fā) 587 16.4.1 地圖設(shè)計器的開發(fā)設(shè)計 思路 587 16.4.2 地圖設(shè)計器的框架介紹 588 16.4.3 底層地圖設(shè)計器的開發(fā) 步驟 588 16.5 Activity和游戲工具類的開發(fā) 592 16.5.1 主控制類—ZActivity的開發(fā) 592 16.5.2 常量工具類ConstantUtil的 開發(fā) 594 16.5.3 日期管理類DateUtil的 開發(fā) 595 16.5.4 圖片管理類PicManager的 開發(fā) 596 16.6 數(shù)據(jù)存取模塊的開發(fā) 597 16.6.1 地圖層信息的封裝類 597 16.6.2 數(shù)據(jù)存取相關(guān)類的 介紹 600 16.7 人物角色模塊的開發(fā) 604 16.7.1 Figure類的代碼框架 604 16.7.2 Dice類的代碼框架 606 16.7.3 FigureGoThread類的 代碼框架 607 16.8 表示層界面模塊的開發(fā) 612 16.8.1 游戲界面GameView的框架 介紹 612 16.8.2 游戲界面繪制方法onDraw的 介紹 614 16.8.3 游戲界面屏幕監(jiān)聽方法onTouch的介紹 618 16.8.4 后臺線程GameViewThread的 開發(fā) 619 16.9 地圖中可遇實(shí)體模塊的開發(fā) 620 16.9.1 繪制類—MyDrawable的 開發(fā) 620 16.9.2 抽象類— MyMeetableDrawable的 開發(fā) 622 16.9.3 土地類— GroundDrawable類 623 16.9.4 可遇實(shí)體對象的調(diào)用 流程 624 16.10 管理面板模塊的開發(fā) 625 16.11 游戲的優(yōu)化及改進(jìn) 627 第 17章 休閑類游戲—《切切樂》 629 17.1 游戲的背景和功能概述 629 17.1.1 背景描述 629 17.1.2 功能介紹 630 17.2 游戲的策劃及準(zhǔn)備工作 633 17.2.1 游戲的策劃 633 17.2.2 手機(jī)平臺下游戲的準(zhǔn)備 工作 633 17.3 游戲的架構(gòu) 635 17.3.1 各個類的簡要介紹 635 17.3.2 游戲框架簡介 637 17.4 顯示界面類 638 17.5 輔助工具類 644 17.5.1 工具類 645 17.5.2 輔助類 648 17.6 繪制相關(guān)類 658 17.6.1 BNObject繪制類的 開發(fā) 658 17.6.2 BNPolyObject繪制類的 開發(fā) 662 17.7 雪花粒子系統(tǒng)的開發(fā) 663 17.7.1 基本原理 664 17.7.2 開發(fā)步驟 664 17.8 本游戲中的著色器 666 17.9 游戲的優(yōu)化及改進(jìn) 668 17.10 本章小結(jié) 669 第 18章 休閑類游戲—《3D冰球》 670 18.1 游戲的背景和功能概述 670 18.1.1 背景描述 670 18.1.2 功能介紹 671 18.2 游戲的策劃及準(zhǔn)備工作 674 18.2.1 游戲的策劃 674 18.2.2 手機(jī)平臺下游戲的準(zhǔn)備 工作 675 18.3 游戲的架構(gòu) 677 18.3.1 各個類的簡要介紹 677 18.3.2 游戲框架簡介 680 18.4 顯示界面類 681 18.4.1 顯示界面MySurfaceView 類 681 18.4.2 加載界面LoadingView類 682 18.4.3 主界面MainView類 683 18.4.4 轉(zhuǎn)場界面TransitionView 類 685 18.4.5 游戲界面GameView類 686 18.5 輔助工具類 689 18.5.1 工具類 689 18.5.2 輔助類 693 18.5.3 線程類 699 18.6 繪制相關(guān)類 702 18.6.1 3D模型繪制類的開發(fā) 702 18.6.2 BN3DObject繪制類的開發(fā) 704 18.7 粒子系統(tǒng)的開發(fā) 705 18.7.1 基本原理 706 18.7.2 開發(fā)步驟 706 18.8 本游戲中的著色器 708 18.9 游戲的優(yōu)化及改進(jìn) 710 18.10 本章小結(jié) 710
你還可能感興趣
我要評論
|