《Android 4 遊戲編程入門經典》是2013年清華大學出版社出版的圖書,作者是Mario Zechner、Robert Green。
圖書詳細信息
ISBN:9787302301059
定價:69元
印次:1-2
裝幀:平裝
印刷日期:2013-4-12
作者:Mario Zechner,Robert Green著 曾繁貳 於建業 王煒 譯
圖書簡介
《Android 4遊戲編程入門經典》囊括了成為一名成功的Android遊戲開發者所需的全部知識。本書是一本可以信賴的指南,能夠幫助你在移動遊戲開發中迅速“升級”。學完本書並加以融會貫通,就能夠編寫出成功的Android遊戲。
《Android 4遊戲編程入門經典》將引導你在Android平台上完整地開發出3個示例遊戲,包括2D遊戲和3D遊戲。本書首先介紹遊戲開發的理論基礎,而且通過只使用剪刀、筆和紙從頭設計一個完整的遊戲,教會你遊戲設計的基礎知識。接下來,你將學習編程基礎知識,並開始創建基本的遊戲引擎和可玩的遊戲。你將以一個有趣的2D遊戲作為起點,最終創建出一個完善的3D太空入侵者遊戲的克隆版本。這些項目將一步步地豐富你的知識和技能。
目錄
第1章Android,後起之秀/1
1.1Android簡介/1
1.2版本分裂/3
1.3谷歌的角色/3
1.3.1Android開源項目/3
1.3.2AndroidMarket/4
1.3.3挑戰賽、設備播種計畫和谷歌I/O/4
1.4Android的功能和體系結構/5
1.4.1核心/6
1.4.2運行庫和Dalvik虛擬機/6
1.4.3系統庫/7
1.4.4應用程式框架/8
1.5軟體開發工具包/8
1.6開發人員社區/9
1.7設備,設備,設備/9
1.7.1硬體/9
1.7.2設備的範圍/10
1.8所有設備之間的兼容性/15
1.9不同的手機遊戲/15
1.9.1人手一台遊戲機/16
1.9.2隨時上網/16
1.9.3普通用戶與遊戲迷/17
1.9.4市場很大,開發人員很少/17
1.10小結/18
第2章從AndroidSDK開始/19
2.1搭建開發環境/19
2.1.1安裝JDK/20
2.1.2安裝AndroidSDK/20
2.1.3安裝Eclipse/21
2.1.4安裝ADTEclipse外掛程式/22
2.1.5Eclipse快速瀏覽/23
2.1.6一些實用的Eclipse快捷鍵/24
2.2Android環境下的HelloWorld/25
2.2.1創建項目/25
2.2.2進一步分析項目/26
2.2.3編寫應用程式代碼/27
2.3運行和調試Android應用程式/29
2.3.1連線設備/29
2.3.2創建一個Android虛擬設備/29
2.3.3運行應用程式/30
2.3.4調試應用程式/32
2.3.5LogCat和DDMS/34
2.3.6使用ADB/36
2.4小結/37
第3章遊戲開發基礎/39
3.1遊戲類型/39
3.1.1休閒遊戲/40
3.1.2益智遊戲/41
3.1.3動作和街機遊戲/42
3.1.4塔防遊戲/44
3.1.5創新/45
3.2遊戲設計:筆比代碼更強大/46
3.2.1遊戲的核心機制/46
3.2.2一個故事和一種藝術風格/47
3.2.3畫面和切換/48
3.3代碼:具體細節/52
3.3.1應用程式和視窗管理/52
3.3.2輸入/53
3.3.3檔案I/O/56
3.3.4音頻/57
3.3.5圖形/60
3.3.6遊戲框架/69
3.4小結/75
第4章面向遊戲開發人員的Android/77
4.1定義一個Android應用程式:清單檔案/77
4.1.710個簡單步驟建立Android遊戲項目/84
4.1.8市場過濾器/86
4.1.9定義遊戲圖示/87
4.2AndroidAPI基礎/87
4.2.1創建測試項目/88
4.2.2活動的生命周期/91
4.2.3處理輸入設備/96
4.2.4檔案處理/110
4.2.5音頻編程/116
4.2.6播放音效/116
4.2.7音樂流/119
4.2.8基本圖形編程/122
4.3最佳實踐/143
4.4小結/144
第5章Android遊戲開發框架/145
5.1制定計畫/145
5.7小結/184
第6章Mr.Nom入侵Android/185
6.1創建資源/185
6.2建立項目/187
6.3MrNomGame:主要活動/187
6.3.1資源:便捷的資源存儲/188
6.3.2設定:跟蹤用戶的選項設定和高分榜/189
6.3.3LoadingScreen:從磁碟獲取資源/191
6.4主選單畫面/192
6.5HelpScreen類/195
6.6高分榜畫面顯示/197
6.6.1渲染數字/198
6.6.2畫面的實現/199
6.7抽象/201
6.7.1抽象Mr.Nom的世界:模型、視圖、控制器/201
6.7.2GameScreen類/211
6.8小結/218
第7章OpenGLES介紹/219
7.1OpenGLES概述以及關注它的原因/219
7.1.1編程模型:一個比喻/220
7.1.2投影/221
7.1.3規範化設備空間和視口/223
7.1.4矩陣/223
7.1.5渲染管道/224
7.2開始之前/225
7.3GLSurfaceView:從2008年開始,事情變得簡單了/225
7.4GLGame:實現遊戲接口/228
7.5繪製一個紅色的三角形/235
7.5.1定義視口/235
7.5.2定義投影矩陣/235
7.5.3指定三角形/238
7.5.4綜合示例/241
7.6指定每個頂點的顏色/243
7.7紋理映射:輕鬆地創建壁紙/246
7.7.1紋理坐標/247
7.7.2上傳點陣圖/248
7.7.3紋理過濾/249
7.7.4釋放紋理/250
7.7.5有用的代碼片段/251
7.7.6啟用紋理/251
7.7.7綜合示例/251
7.7.8Texture類/253
7.8索引頂點:重用是有好處的/255
7.8.1代碼整合/256
7.8.2Vertices類/258
7.9半透明混合處理/260
7.10更多圖元:點、線、條和扇/263
7.112D變換:操作模型視圖矩陣/264
7.11.1世界空間和模型空間/264
7.11.2再次討論矩陣/265
7.11.3第一個使用平移的示例/266
7.11.4更多的變換/270
7.12性能最佳化/273
7.12.1測量幀率/273
7.12.2Android1.5平台下Hero的奇特案例/275
7.12.3使OpenGLES渲染如此慢的原因/275
7.12.4移除不必要的狀態改變/276
7.12.5減小紋理大小意味著需要獲取更少的像素/278
7.12.6減少OpenGLES/JNI方法的調用/278
7.12.7綁定頂點的概念/279
7.12.8寫在結束之前/282
7.13小結/283
第8章2D遊戲編程技巧/285
8.1寫在開始/285
8.2向量/286
8.2.1使用向量/286
8.2.2一點三角學的知識/288
8.2.3實現一個向量類/289
8.2.4一個簡單的用法示例/292
8.32D物理定律淺析/296
8.3.1牛頓和歐拉,永遠的好朋友/296
8.3.2力和質量/297
8.3.3理論上的運動/298
8.3.4運動的實現/299
8.42D碰撞檢測和對象表示/302
8.4.1邊界形狀/303
8.4.2構造邊界形狀/304
8.4.3遊戲對象的屬性/306
8.4.4寬階段和窄階段碰撞檢測/307
8.4.5一個詳細的示例/313
8.52D照相機/324
8.5.1Camera2D類/327
8.5.2示例/328
8.6紋理圖集/329
8.7紋理區域、精靈和批處理:隱藏OpenGLES/334
8.7.1TextureRegion類/334
8.7.2SpriteBatcher類/335
8.8精靈動畫/343
8.8.1Animation類/344
8.8.2示例/345
8.9小結/348
第9章SuperJumper:一個2DOpenGLES遊戲/351
9.1核心遊戲機制/351
9.2背景故事和藝術風格/352
9.3畫面和切換/352
9.4定義遊戲世界/353
9.5創建資源/355
9.5.1UI元素/355
9.5.2使用點陣字型處理文本/356
9.5.3遊戲元素/358
9.5.4用於救援的紋理圖集/359
9.5.5音樂與音效/360
9.6實現SuperJumper/361
9.6.1Assets類/361
9.6.2Settings類/364
9.6.3主活動/366
9.6.4Font類/367
9.6.5GLScreen/369
9.6.6主選單畫面/369
9.6.7幫助畫面/372
9.6.8高分畫面/374
9.6.9模擬類/377
9.6.10遊戲畫面/390
9.6.11WorldRenderer類/397
9.7是否需要最佳化/401
9.8小結/402
第10章OpenGLES:進入3D世界/403
10.1準備工作/403
10.23D中的頂點/404
10.2.1Vertices3:存儲3D空間位置/404
10.2.2示例/406
10.3透視投影:越近則越大/409
10.4z-buffer:化混亂為有序/411
10.4.1完善上一個例子/412
10.4.2混合:身後空無一物/413
10.4.3z-buffer精度與z-fighting/416
10.5定義3D格線/417
10.5.1立方體:3D中的“HelloWorld”/417
10.5.2一個示例/419
10.6矩陣和變換/422
10.6.1矩陣堆疊/423
10.6.2用矩陣堆疊實現分層系統/425
10.6.3木箱太陽系的簡單實例/425
10.7小結/433
第11章3D編程技巧/435
11.1準備工作/435
11.23D中的向量/436
11.3OpenGLES中的光照/440
11.3.1光照的工作機制/440
11.3.2光源/441
11.3.3材質/442
11.3.4OpenGLES中如何對光照過程進行運算:頂點法線/442
11.3.5實踐/443
11.3.6關於OpenGLES中光照套用的一些建議/456
11.4材質變換(Mipmapping)/456
11.5簡單的照相機/460
11.5.1第一人稱照相機或歐拉照相機/460
11.5.2一個歐拉照相機的示例/463
11.5.3跟隨照相機/468
11.6載入模組/470
11.6.1WavefrontOBJ格式/470
11.6.2OBJ載入器的實現/471
11.6.3使用OBJ載入器/475
11.6.4關於載入模型的一些建議/475
11.73D中的一些物理知識/476
11.8碰撞檢測與3D中的對象表達法/477
11.8.13D中的邊界形狀/477
11.8.2邊界球重疊測試/477
11.8.3GameObject3D與Dynamic-GameObject3D/478
11.9小結/479
第12章DroidInvaders遊戲/481
12.1遊戲的核心機制/481
12.2遊戲的故事背景與藝術風格/483
12.3螢幕與場景切換/483
12.4定義遊戲世界/484
12.5創建資源/485
12.5.1用戶界面的資源/485
12.5.2遊戲資源/486
12.5.3音效與音樂/488
12.6開始編寫代碼/488
12.7Assets類/489
12.8Settings類/492
12.9主活動/493
12.10主選單/494
12.11遊戲設定畫面/496
12.12模擬類/499
12.12.1Shield類/499
12.12.2Shot類/500
12.12.3Ship類/500
12.12.4Invader類/502
12.12.5World類/505
12.13GameScreen類/510
12.14WorldRender類/516
12.15遊戲最佳化/521
12.16小結/522
第13章發布遊戲/523
13.1關於測試/523
13.2成為註冊開發人員/524
13.3給遊戲的APK包簽名/524
13.4將遊戲發布至Market/527
13.4.1上傳資源/527
13.4.2產品詳情/528
13.4.3發布選項/528
13.4.4發布/529
13.4.5市場推廣/529
13.5開發人員控制台/529
13.6小結/530
第14章進階內容/531
14.1社交網路/531
14.2位置識別/531
14.3多玩家功能/532
14.4OpenGLES2.0以及更多內容/532
14.5框架及引擎/532
14.6網路資源/534
14.7結束語/534