第1章 初識Android的遊戲世界 1
1.1 主流手機遊戲開發平颱 1
1.1.1 Java ME 1
1.1.2 Symbian OS 2
1.1.3 Windows Mobile 3
1.1.4 Android 3
1.2 手機遊戲概述 4
1.2.1 智能手機係統 4
1.2.2 手機遊戲的發展與繁榮 5
1.2.3 手機遊戲類型 5
1.2.4 手機遊戲特點 6
1.3 掀開Android的麵紗 7
1.3.1 選擇Android的理由 7
1.3.2 Android的應用程序框架 8
1.3.3 Android應用程序組件 9
1.4 Android 開發環境的安裝與配置 10
1.4.1 安裝JDK和配置Java開發環境 10
1.4.2 Eclipse的安裝 11
1.4.3 SDK和ADT的安裝和配置 11
1.5 第一個Android應用 13
1.5.1 創建第一個Android應用 13
1.5.2 在模擬器上運行程序 15
1.5.3 在手機上運行程序 17
1.6 本章小結 18
第2章 圖層 19
2.1 圖層結構 19
2.1.1 圖層的組成元素 19
2.1.2 圖層的組織 20
2.2 圖層調用 22
2.2.1 界麵的視圖——SurfaceView類 22
2.2.2 創建MainSurface 23
2.2.3 繪製MainSurface 23
2.3 圖層示例 28
2.4 本章小結 32
第3章 遊戲中的多綫程 33
3.1 多綫程的使用 33
3.1.1 遊戲邏輯的實現 33
3.1.2 創建多個綫程 34
3.2 多綫程的注意事項 34
3.2.1 同步問題 34
3.2.2 數據安全問題——綫程鎖 38
3.3 本章小結 40
第4章 遊戲素材 41
4.1 素材的標準 41
4.1.1 圖片素材的標準 41
4.1.2 音樂素材的標準 43
4.2 圖片素材的裁剪 43
4.2.1 裁剪原理 44
4.2.2 裁剪實現 44
4.3 讓素材動起來 49
4.4 本章小結 50
第5章 矩陣 51
5.1 數學中的矩陣 51
5.1.1 矩陣相加及相減 52
5.1.2 乘法 52
5.1.3 單位矩陣 53
5.1.4 逆矩陣 54
5.1.5 轉置矩陣 54
5.2 Android矩陣應用 55
5.2.1 Matrix基本操作 55
5.2.2 Matrix應用 57
5.3 本章小結 60
第6章 OpenGL ES 2.0入門教程 61
6.1 Android係統下OpenGL ES 2.0學習的先決條件 61
6.2 OpenGL ES 2.0簡介 61
6.3 Android係統下OpenGL ES 2.0學習入門 63
6.3.1 可視化3D世界 64
6.3.2 瞭解緩衝區 66
6.3.3 瞭解矩陣的用法 66
6.3.4 定義頂點和片段渲染器 67
6.3.5 加載渲染器到OpenGL中 68
6.3.6 把頂點和片段渲染器鏈接到一個程序 69
6.3.7 設置視角投影 70
6.3.8 在屏幕上繪製 71
6.4 標準漫射照明 72
6.4.1 什麼是光 72
6.4.2 不同類型的光 73
6.4.3 模擬光 74
6.5 在每像素基礎上應用相同照明技術 80
6.5.1 什麼是每像素照明 80
6.5.2 從每個頂點移動到每個片段照明 80
6.5.3 每像素照明的概觀 82
6.6 如何添加紋理 83
6.6.1 紋理的基本知識 83
6.6.2 紋理坐標 84
6.6.3 紋理映射的基本知識 84
6.6.4 頂點渲染器 85
6.6.5 片段渲染器 85
6.6.6 從圖像文件中載入紋理 86
6.6.7 在場景中應用紋理 88
6.7 本章小結 90
第7章 遊戲開發實例“小魚快跑” 91
7.1 遊戲策劃 91
7.2 遊戲資源 92
7.3 遊戲開發 92
7.3.1 遊戲框架設計 92
7.3.2 背景設計 100
7.3.3 精靈設計 100
7.3.4 遊戲特效 112
7.3.5 遊戲音效 117
7.4 本章小結 118
第8章 末日遊戲一 119
8.1 遊戲開發動機 119
8.2 遊戲創意 120
8.3 設立項目 121
8.4 遊戲的基本架構 124
8.4.1 Android手機上的遊戲架構 125
8.4.2 用戶輸入 125
8.4.3 遊戲邏輯 125
8.5 基本的遊戲循環 126
8.6 顯示圖像 134
8.7 移動圖像 Moving Images on the Screen with Android 140
8.8 遊戲循環 144
8.9 測量的FPS Measuring FPS 148
8.10 本章小結 151
第9章 末日遊戲二 152
9.1 精靈動畫 152
9.2 粒子爆炸 156
9.3 遊戲實體——策略模式 161
9.4 位圖字體 173
9.5 設計遊戲中的實體、對象的組閤策略 178
9.6 Android 3D編程——透視投影 188
9.7 在遊戲中使用MVC模式 192
9.8 本章小結 206
第10章 項目介紹與需求規格說明 207
10.1 項目描述 207
10.2 項目目標 207
10.3 項目特點 208
10.4 項目的目標受眾 208
10.5 項目的團隊介紹 208
10.6 團隊成員角色 209
10.7 項目開發的過程模型 209
10.8 需求規格說明 209
10.8.1 遊戲描述 209
10.8.2 功能需求 210
10.9 本章小結 215
第11章 項目設計階段 216
11.1 開始應用程序 216
11.2 開始遊戲 217
11.3 遊戲循環 218
11.4 更新世界 219
11.5 場景圖 220
11.6 繪製世界 220
11.7 HUD 223
11.7.1 移動 223
11.7.2 動作 224
11.7.3 生命條和法力條 224
11.8 玩傢動畫 224
11.9 施加法術 225
11.10 碰撞處理 226
11.11 加載世界和遊戲對象 228
11.12 玩傢鏇轉 229
11.13 法力再生 230
11.14 客戶端連接 230
11.15 遊戲服務器 230
11.16 優化 231
11.16.1 內存分配 231
11.16.2 綫程 231
11.17 動作係統 231
11.18 更新管理器與事件處理器/進程管理器 231
11.19 遊戲服務器 233
11.20 客戶端網絡 234
11.21 輸入 234
11.21.1 移動 234
11.21.2 手勢/動作 235
11.22 繪製 235
11.23 遊戲循環 236
11.24 碰撞 237
11.25 本章小結 237
第12章 實現和測試 238
12.1 命名規則 238
12.2 原始代碼結構 238
12.3 單件設計模式 239
12.4 NO.HIG.RAG.UpdateManager 240
12.5 NO.HIG.RAG.Controllers 241
12.5.1 控製器 241
12.5.2 TranslateController 241
12.5.3 RotateController 243
12.5.4 AnimationController 243
12.5.5 動作控製器 244
12.5.6 REGENCONTROLLER狀態控製器 244
12.6 NO.HIG.RAG.ACTIONS 244
12.6.1 動作 245
12.6.2 SpellDefault 246
12.7 NO.HIG.RAG.GUI 247
12.7.1 手勢 247
12.7.2 移動 247
12.8 NO.HIG.RAG.NETWORK 248
12.8.1 網絡發送者 248
12.8.2 網絡接收者 248
12.8.3 結閤 248
12.9 NO.HIG.RAG.COLLISION 248
12.9.1 CollisionManager 248
12.9.2 單元 248
12.10 NO.HIG.RAG.HUMAN 249
12.10.1 Human 249
12.10.2 Player 249
12.10.3 NetworkPlayer 250
12.11 NO.HIG.RAG.SCENEGRAPH 250
12.11.1 SCENEGRAPH 250
12.11.2 Node 250
12.11.3 TranslateNode 251
12.11.4 RotateNode 251
12.11.5 GeometryNode 252
12.11.6 TextureNode 252
12.11.7 GroupNode 253
12.11.8 SwitchNode 253
12.11.9 節點初始化 254
12.11.10 序列化 254
12.12 NO.HIG.RAG.DATASTRUCTURES 254
12.13 工具 255
12.13.1 分析遊戲對象和創建場景圖形文件 255
12.13.2 要點 255
12.13.3 BuildInitialSceneGraph 255
12.13.4 COLLADAPARSE 256
12.13.5 GAMEOBJECT 256
12.14 服務器 256
12.14.1 通信 256
12.14.2 組件 256
12.14.3 數據庫錶 257
12.15 測試的方法與戰略 257
12.15.1 測試戰略 257
12.15.2 測試的工具/方法 258
12.15.3 遊戲服務 258
12.16 成果的討論 258
12.16.1 成果 258
12.16.2 討論 259
12.17 角色 260
12.18 工作方法Scrum 260
12.19 遊戲完成後的總結 262
12.19.1 獨立開發還是使用中間件 262
12.19.2 閤並係統 262
12.19.3 關於OpenGL / Android 的問題 262
12.19.4 動作係統 262
12.19.5 Collada與.obj 263
12.20 本章小結 263
第13章 項目相關文檔與項目計劃 265
13.1 項目會議日記 265
13.2 工作日誌 271
13.3 狀態報告 275
13.4 Scrum會議 276
13.5 日常Scrum 280
13.6 首要技術描述 282
13.7 項目目標和邊界 283
13.7.1 背景 283
13.7.2 目標 283
13.7.3 邊界 283
13.8 項目範圍 284
13.8.1 項目描述 284
13.8.2 範圍 284
13.9 項目組織 284
13.9.1 雇主和谘詢師 284
13.9.2 職責和角色 284
13.10 團隊規定和例程 285
13.10.1 團隊規定 285
13.10.2 例程 285
13.11 資源 285
13.12 計劃、會議和報告 285
13.12.1 係統開發模型 285
13.12.2 會議 286
13.12.3 狀態報告 286
13.13 質量保證 287
13.13.1 測試 287
13.13.2 代碼會議 287
13.14 甘特圖 287
13.15 本章小結 288
· · · · · · (
收起)