Android 4遊戲編程入門經典

Android 4遊戲編程入門經典

《Android4遊戲編程入門經典》是2012年清華大學出版社出版的圖書,作者是(美)策希納(Zechner,M.),無(美)格林(Green,R.)。

基本介紹

  • 作者:(美) 策希納(Zechner, M.)                       /            無(美) 格林(Green, R.) 著
  • ISBN:9787302301059
  • 頁數:534
  • 定價:69.00元
  • 出版社:清華大學出版社
  • 出版時間:2012-11
  • 副標題:Android 4遊戲編程入門經典
內容介紹,作者介紹,作品目錄,

內容介紹

《Android 4遊戲編程入門經典》囊括了成為一名成功的Android遊戲開發者所需的全
部知識。本書是一本可以信賴的指南,能夠幫助你在移動遊戲開發中迅速“升級”。學完
本書並加以融會貫通,就能夠編寫出成功的Android遊戲。
《Android 4遊戲編程入門經典》將引導你在Android平台上完整地開發出3個示例游
戲,包括2D遊戲和3D遊戲。本書首先介紹遊戲開發的理論基礎,而且通過只使用剪刀、
筆和紙從頭設計一個完整的遊戲,教會你遊戲設計的基礎知識。接下來,你將學習編程
基礎知識,並開始創建基本的遊戲引擎和可玩的遊戲。你將以一個有趣的2D遊戲作為起
點,最終創建出一個完善的3D太空入侵者遊戲的克隆版本。這些項目將一步步地豐富你
的知識和技能。
主要內容
● 設定和使用Android開發工具:準備好編寫自己的遊戲
● 經典的2D遊戲編程:創建讓人愛不釋手的動作遊戲和平台遊戲
● Android圖形和音頻:讓遊戲看起來和聽起來都如此美妙
● 遊戲機制:充分利用碰撞檢測、物理知識和精靈動畫
● 3D遊戲編程:以簡單的方式在遊戲中添加複雜的3D
● 最後一步:發布遊戲,收到崩潰報告,幫助用戶解決問題
本書詳盡地介紹了移動遊戲所需的一切基礎知識,書中講解的知識和技能將幫助你成
為一名出色的移動遊戲開發者。

作者介紹

作 者 簡 介
Mario Zechner白天是一名軟體研發工程師,到了晚上就變身為熱情高漲的遊戲開發者,以Badlogic Games的名義發布遊戲。他開發了基於Android平台的遊戲Newton,和基於Windows、Linux和Mac OSX的遊戲Quantum以及其他眾多遊戲原型和小型遊戲。目前,他正致力於一個名為libgdx的開源跨平台遊戲開發解決方案。除了編寫代碼以外,他還積極撰寫關於遊戲開發的教程和文章,這些可以在網上特別是他的部落格(http://badlogicgames.com)上免費查看。
Robert Green是Oregon州Portland市的Battery Powered Games遊戲工作室的創辦人。他已經開發了9款Android遊戲,包括Deadly Chambers、Antigen、Wixel、Light Racer和Light Racer 3D。在全力開發和發布移動視頻遊戲以前,Robert分別在Minneapolis和Chicago的軟體公司中工作過,其中包括IBM Interactive。Robert目前的精力主要放在跨平台遊戲開發和高性能移動遊戲開發。Robert經常在自己的部落格http://www.rbgrn.net中更新關於遊戲編程的知識。

作品目錄

第1章 Android,後起之秀 1
1.1 Android簡介 1
1.2 版本分裂 3
1.3 谷歌的角色 3
1.3.1 Android開源項目 3
1.3.2 Android Market 4
1.3.3 挑戰賽、設備播種計畫
和谷歌I/O 4
1.4 Android的功能和體系結構 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章 從Android SDK開始 19
2.1 搭建開發環境 19
2.1.1 安裝JDK 20
2.1.2 安裝Android SDK 20
2.1.3 安裝Eclipse 21
2.1.4 安裝ADT Eclipse外掛程式 22
2.1.5 Eclipse快速瀏覽 23
2.1.6 一些實用的Eclipse快捷鍵 24
2.2 Android環境下的Hello World 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.5 LogCat和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.1 <manifest>元素 78
4.1.2 <application>元素 79
4.1.3 <activity>元素 80
4.1.4 <uses-permission>元素 82
4.1.5 <uses-feature>元素 83
4.1.6 <uses-sdk>元素 84
4.1.7 10個簡單步驟建立Android
遊戲項目 84
4.1.8 市場過濾器 86
4.1.9 定義遊戲圖示 87
4.2 Android API基礎 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.2 AndroidFileIO類 146
5.3 AndroidAudio、AndroidSound
和AndroidMusic 147
5.4 AndroidInput和Accelerometer-
Handler 152
5.4.1 AccelerometerHandler:手機
哪一面朝上 152
5.4.2 CompassHandler 153
5.4.3 Pool類:重用相當有用 154
5.4.4 KeyboardHandler 156
5.4.5 觸摸處理程式 160
5.4.6 AndroidInput:優秀的
協調者 167
5.5 AndroidGraphics和
AndroidPixmap 169
5.5.1 處理不同螢幕大小和
解析度的問題 169
5.5.2 AndroidPixmap:人物的
像素 174
5.5.3 AndroidGraphics:滿足
繪圖需求 174
5.5.4 AndroidFastRenderView 178
5.6 AndroidGame:合併所有
內容 180
5.7 小結 184
第6章 Mr. Nom入侵Android 185
6.1 創建資源 185
6.2 建立項目 187
6.3 MrNomGame:主要活動 187
6.3.1 資源:便捷的資源存儲 188
6.3.2 設定:跟蹤用戶的選項設定
和高分榜 189
6.3.3 LoadingScreen:從磁碟獲取
資源 191
6.4 主選單畫面 192
6.5 HelpScreen類 195
6.6 高分榜畫面顯示 197
6.6.1 渲染數字 198
6.6.2 畫面的實現 199
6.7 抽象 201
6.7.1 抽象Mr. Nom的世界:
模型、視圖、控制器 201
6.7.2 GameScreen類 211
6.8 小結 218
第7章 OpenGL ES介紹 219
7.1 OpenGL ES概述以及關注它的
原因 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.3 GLSurfaceView:從2008年開始,
事情變得簡單了 225
7.4 GLGame:實現遊戲接口 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.8 Texture類 253
7.8 索引頂點:重用是有好處的 255
7.8.1 代碼整合 256
7.8.2 Vertices類 258
7.9 半透明混合處理 260
7.10 更多圖元:點、線、條
和扇 263
7.11 2D變換:操作模型視圖
矩陣 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.2 Android 1.5平台下Hero的
奇特案例 275
7.12.3 使OpenGL ES渲染如此
慢的原因 275
7.12.4 移除不必要的狀態
改變 276
7.12.5 減小紋理大小意味著需要
獲取更少的像素 278
7.12.6 減少OpenGL ES/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.3 2D物理定律淺析 296
8.3.1 牛頓和歐拉,永遠的
好朋友 296
8.3.2 力和質量 297
8.3.3 理論上的運動 298
8.3.4 運動的實現 299
8.4 2D碰撞檢測和對象表示 302
8.4.1 邊界形狀 303
8.4.2 構造邊界形狀 304
8.4.3 遊戲對象的屬性 306
8.4.4 寬階段和窄階段碰撞檢測 307
8.4.5 一個詳細的示例 313
8.5 2D照相機 324
8.5.1 Camera2D類 327
8.5.2 示例 328
8.6 紋理圖集 329
8.7 紋理區域、精靈和批處理:
隱藏OpenGL ES 334
8.7.1 TextureRegion類 334
8.7.2 SpriteBatcher類 335
8.8 精靈動畫 343
8.8.1 Animation類 344
8.8.2 示例 345
8.9 小結 348
第9章 Super Jumper:一個2D
OpenGL ES遊戲 351
9.1 核心遊戲機制 351
9.2 背景故事和藝術風格 352
9.3 畫面和切換 352
9.4 定義遊戲世界 353
9.5 創建資源 355
9.5.1 UI元素 355
9.5.2 使用點陣字型處理文本 356
9.5.3 遊戲元素 358
9.5.4 用於救援的紋理圖集 359
9.5.5 音樂與音效 360
9.6 實現Super Jumper 361
9.6.1 Assets類 361
9.6.2 Settings類 364
9.6.3 主活動 366
9.6.4 Font類 367
9.6.5 GLScreen 369
9.6.6 主選單畫面 369
9.6.7 幫助畫面 372
9.6.8 高分畫面 374
9.6.9 模擬類 377
9.6.10 遊戲畫面 390
9.6.11 WorldRenderer類 397
9.7 是否需要最佳化 401
9.8 小結 402
第10章 OpenGL ES:進入3D
世界 403
10.1 準備工作 403
10.2 3D中的頂點 404
10.2.1 Vertices3:存儲3D空間
位置 404
10.2.2 示例 406
10.3 透視投影:越近則越大 409
10.4 z-buffer:化混亂為有序 411
10.4.1 完善上一個例子 412
10.4.2 混合:身後空無一物 413
10.4.3 z-buffer精度與
z-fighting 416
10.5 定義3D格線 417
10.5.1 立方體:3D中的“Hello
World” 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.2 3D中的向量 436
11.3 OpenGL ES中的光照 440
11.3.1 光照的工作機制 440
11.3.2 光源 441
11.3.3 材質 442
11.3.4 OpenGL ES中如何對光照
過程進行運算:頂點
法線 442
11.3.5 實踐 443
11.3.6 關於OpenGL ES中光照
套用的一些建議 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.1 Wavefront OBJ格式 470
11.6.2 OBJ載入器的實現 471
11.6.3 使用OBJ載入器 475
11.6.4 關於載入模型的一些
建議 475
11.7 3D中的一些物理知識 476
11.8 碰撞檢測與3D中的對象
表達法 477
11.8.1 3D中的邊界形狀 477
11.8.2 邊界球重疊測試 477
11.8.3 GameObject3D與Dynamic-
GameObject3D 478
11.9 小結 479
第12章 Droid Invaders遊戲 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.7 Assets類 489
12.8 Settings類 492
12.9 主活動 493
12.10 主選單 494
12.11 遊戲設定畫面 496
12.12 模擬類 499
12.12.1 Shield類 499
12.12.2 Shot類 500
12.12.3 Ship類 500
12.12.4 Invader類 502
12.12.5 World類 505
12.13 GameScreen類 510
12.14 WorldRender類 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.4 OpenGL ES 2.0以及更多
內容 532
14.5 框架及引擎 532
14.6 網路資源 534
14.7 結束語 534

相關詞條

熱門詞條

聯絡我們