收藏 Android 書本範例目錄[01](3D遊戲案例開發大全)
收藏 Android 書本範例目錄[01](3D遊戲案例開發大全)
以下是本身有收集到書本範例目錄,歡迎各位同好有需要可以留言所取單一範例。
目錄:
第1章 新一代的王者——Android概覽 1
1.1 智能手機市場現狀 1
1.1.1 五大智能手機操作系統 1
1.1.2 智能手機市場的新星 2
1.2 Android平臺的特點及未來的趨勢 3
1.2.1 全新理念帶來的體驗風暴 3
1.2.2 中國手機市場的主導性作用 4
1.2.3 手機3D游戲和應用增長迅速 4
1.3 如何搭建Android開發環境 4
1.3.1 SDK的安裝及環境配置 5
1.3.2 Eclipse集成開發環境的搭建 7
1.3.3 創建并啟動模擬器 9
1.4 Hello Android應用程序的開發 11
1.4.1 第一個Android應用程序 12
1.4.2 Android應用程序的項目結構 14
1.4.3 Android應用程序的調試 16
1.4.4 實際設備的聯機調試 18
1.5 Android應用程序運行的機制 19
1.5.1 應用程序的系統架構 19
1.5.2 應用程序框架 20
1.5.3 Android運行時 20
1.5.4 系統庫 21
1.5.5 底層Linux內核 21
1.6 本章小結 22
第2章 游戲開發相關Android基礎知識 23
2.1 游戲中的音效 23
2.1.1 游戲中的即時音效 23
2.1.2 即時音效的一個案例 24
2.1.3 背景音樂播放技術 27
2.1.4 簡易音樂播放器的實現 29
2.2 簡單數據的存儲——Preferences 33
2.2.1 Preferences簡介 33
2.2.2 Preferences實現訪問時間的記錄 33
2.3 手機自帶數據庫——SQLite 34
2.3.1 初識SQLite 35
2.3.2 SQLite數據庫的基本操作 35
2.3.3 SQLite數據庫的簡單案例 37
2.3.4 使用ContentProvider組件共享數據 40
2.3.5 使用ContentResolver獲取分享數據 42
2.4 文件I/O 43
2.4.1 訪問SD卡中的文件 44
2.4.2 訪問手機中的文件夾 46
2.4.3 讀取assets文件夾下的內容 48
2.5 2D動畫的開發 50
2.5.1 SurfaceView用法簡介 50
2.5.2 使用SurfaceView實現2D動畫 50
2.6 Socket網絡通信 56
2.6.1 Socket開發基本知識 56
2.6.2 服務器端 57
2.6.3 客戶端 58
2.7 藍牙通信 59
2.7.1 藍牙通信的基本知識 60
2.7.2 聊天案例概覽 60
2.7.3 聊天案例的開發過程 62
2.8 本章小結 75
第3章 初識OpenGL ES 2.0 77
3.1 OpenGL ES 2.0概覽 77
3.1.1 OpenGL ES 2.0簡介 77
3.1.2 初識OpenGL ES 2.0應用程序 80
3.2 著色器與渲染管線 89
3.2.1 OpenGL ES 1.x的渲染管線 89
3.2.2 OpenGL ES 2.0的渲染管線 94
3.2.3 OpenGL ES中立體物體的構建 97
3.3 主流Android手機GPU大PK 98
3.3.1 手機GPU四大家族對比 99
3.3.2 主流GPU的性能參數比較 103
3.4 本章小結 104
第4章 著色語言Shading Language 105
4.1 著色語言概述 105
4.2 著色語言基礎 106
4.2.1 數據類型概述 106
4.2.2 數據類型的基本使用 110
4.2.3 運算符 112
4.2.4 類型轉換 114
4.2.5 限定符 115
4.2.6 流程控制 119
4.2.7 函數的聲明與使用 121
4.2.8 片元著色器中浮點變量精度的指定 122
4.2.9 程序的基本結構 123
4.3 特殊的內建變量 123
4.3.1 頂點著色器中的內建變量 124
4.3.2 片元著色器中的內建變量 124
4.4 著色語言的內置函數 125
4.4.1 角度轉換與三角函數 126
4.4.2 指數函數 127
4.4.3 常見函數 127
4.4.4 幾何函數 130
4.4.5 矩陣函數 132
4.4.6 向量關系函數 133
4.4.7 紋理采樣函數 134
4.4.8 微分函數 135
4.5 本章小結 135
第5章 投影及各種變換 136
5.1 攝像機的設置 136
5.2 兩種投影方式 137
5.2.1 正交投影 137
5.2.2 透視投影 145
5.3 各種變換 148
5.3.1 基本變換的相關數學知識 148
5.3.2 平移變換 148
5.3.3 旋轉變換 152
5.3.4 縮放變換 153
5.3.5 基本變換的實質 155
5.4 繪制方式 156
5.4.1 各種繪制方式概覽 156
5.4.2 點與線段繪制方式 157
5.4.3 三角形條帶與扇面繪制方式 159
5.4.4 頂點法與索引法 165
5.5 設置合理的視角 167
5.6 卷繞和背面剪裁 173
5.6.1 基本知識 173
5.6.2 一個簡單的案例 174
5.7 本章小結 176
第6章 光照 177
6.1 曲面物體的構建 177
6.1.1 球體構建的基本原理 177
6.2.2 案例效果概覽 178
6.2.3 開發步驟 179
6.2 基本光照效果 182
6.2.1 光照的基本模型 182
6.2.2 環境光 183
6.2.3 散射光 185
6.2.4 鏡面光 190
6.2.5 三種光照通道的合成 194
6.3 定位光與定向光 196
6.4 點法向量和面法向量 199
6.5 光照的每頂點計算與每片元計算 202
6.6 本章小結 204
第7章 紋理映射 205
7.1 初識紋理映射 205
7.1.1 基本原理 205
7.1.2 紋理映射的簡單案例 206
7.2 紋理拉伸 212
7.2.1 兩種拉伸方式概覽 212
7.2.2 不同拉伸方式的案例 214
7.3 紋理采樣 217
7.3.1 紋理采樣概述 217
7.3.2 最近點采樣 218
7.3.3 線性紋理采樣 219
7.3.4 MIN與MAG采樣 220
7.3.5 不同紋理采樣方式的案例 221
7.4 mipmap紋理技術 226
7.5 多重紋理與過程紋理 227
7.5.1 案例概覽 227
7.5.2 將2D紋理映射到球面上的策略 228
7.5.3 案例的場景結構 229
7.5.4 開發過程 230
7.6 本章小結 238
第8章 3D基本形狀的構建 239
8.1 圓柱體 239
8.1.1 頂點原始位置的生成 239
8.1.2 案例的開發 241
8.2 圓錐體 244
8.2.1 頂點原始位置的生成 244
8.2.2 案例的開發 246
8.3 圓環體 248
8.3.1 頂點原始位置的生成 248
8.3.2 案例的開發 249
8.4 螺旋管 251
8.4.1 頂點原始位置的生成 252
8.4.2 案例的開發 252
8.5 幾何球 253
8.5.1 頂點原始位置的生成 254
8.5.2 案例的開發 255
8.6 足球碳分子模型的搭建 262
8.6.1 搭建的基本原理 262
8.6.2 案例的開發 264
8.7 貝塞爾曲線及旋轉面 270
8.7.1 三維旋轉曲面的生成 270
8.7.2 貝塞爾曲線 270
8.7.3 Bezier曲線生成工具 272
8.7.4 印度古典建筑場景的開發 274
8.8 本章小結 276
第9章 3D模型加載 277
9.1 obj模型文件概覽 277
9.1.1 obj文件的格式 277
9.1.2 用3DMax設計3D模型 278
9.2 加載obj文件 279
9.2.1 加載僅有頂點坐標與面數據的obj文件 279
9.2.2 加載后自動計算面法向量 283
9.2.3 加載后自動計算平均法向量 286
9.2.4 加載紋理坐標 289
9.3 本章小結 292
第10章 混合與霧 293
10.1 混合技術 293
10.1.1 混合基本知識 293
10.1.2 源因子和目標因子 294
10.1.3 簡單混合效果案例 295
10.2 地月系云層效果的實現 297
10.3 霧 300
10.3.1 霧的原理與優勢 300
10.3.2 霧的簡單實現 301
10.4 本章小結 304
第11章 常用3D開發技巧 305
11.1 標志板 305
11.1.1 案例效果與基本原理 305
11.1.2 開發步驟 306
11.2 灰度圖地形 310
11.2.1 基本原理 311
11.2.2 普通灰度圖地形 311
11.2.3 過程紋理地形 314
11.2.4 MipMap地形 317
11.3 天空盒與天空穹 318
11.3.1 天空盒 318
11.3.2 天空穹 320
11.3.3 天空盒與天空穹的使用技巧 321
11.4 鏡像技術 322
11.4.1 鏡像基本原理 322
11.4.2 基本效果案例 322
11.4.3 升級效果案例 325
11.5 動態文本輸出 327
11.5.1 案例效果與基本原理 327
11.5.2 具體開發步驟 328
11.6 非真實感繪制 330
11.6.1 案例效果與基本原理 330
11.6.2 具體開發步驟 331
11.7 本章小結 332
第12章 幾種剪裁與測試 333
12.1 剪裁測試 333
12.1.1 基本原理與核心代碼 333
12.1.2 一個主次視角的簡單案例 334
12.2 Alpha測試 335
12.2.1 Alpha測試基本原理 335
12.2.2 一個橢圓窗口的案例 335
12.3 模板測試 337
12.3.1 基本原理 337
12.3.2 一個簡單的案例 340
12.4 任意剪裁平面 341
12.4.1 基本原理 341
12.4.2 茶壺被任意平面剪裁的案例 342
12.5 本章小結 344
第13章 頂點著色器的妙用 345
13.1 飄揚的旗幟 345
13.1.1 基本原理 345
13.1.2 開發步驟 346
13.2 扭動的軟糖 349
13.2.1 基本原理 349
13.2.2 開發步驟 350
13.3 風吹椰林場景的開發 351
13.3.1 椰子樹隨風搖擺的基本原理 351
13.3.2 開發步驟 352
13.4 展翅飛翔的雄鷹 356
13.4.1 基本原理 356
13.4.2 開發步驟 357
13.5 二維扭曲 359
13.5.1 基本原理 359
13.5.2 開發步驟 360
13.6 OpenGL ES 1.x與OpenGL ES 2.0實現方案的對比 363
13.7 本章小結 364
第14章 片元著色器的妙用 365
14.1 程序紋理技術 365
14.1.1 磚塊著色器 365
14.1.2 沙灘球著色器 367
14.2 數字圖像處理 368
14.2.1 卷積的基本知識 369
14.2.2 平滑過濾 369
14.2.3 邊緣檢測 371
14.2.4 銳化處理 372
14.2.5 浮雕效果 373
14.2.6 圖像漸變 374
14.3 分形著色器 375
14.3.1 曼德布羅集簡介 375
14.3.2 曼德布羅集著色器的實現 376
14.3.3 將曼德布羅集紋理應用到實際物體上 378
14.3.4 茱莉亞集著色器的實現 379
14.4 本章小結 380
第15章 真實光學環境的模擬 381
15.1 投影貼圖 381
15.1.1 案例效果與基本原理 381
15.1.2 開發步驟 382
15.2 反射環境模擬 385
15.2.1 案例效果與基本原理 385
15.2.2 開發步驟 386
15.3 折射環境模擬 388
15.3.1 案例效果與基本原理 388
15.3.2 開發步驟 390
15.4 色散效果的模擬 391
15.4.1 案例效果與基本原理 391
15.4.2 開發步驟 392
15.5 菲涅爾效果的模擬 393
15.5.1 案例效果與基本原理 393
15.5.2 開發步驟 394
15.6 凹凸映射 395
15.6.1 案例效果與基本原理 395
15.6.2 法向量紋理圖的生成 396
15.6.3 案例的開發 399
15.7 平面陰影 404
15.7.1 案例效果與基本原理 405
15.7.2 開發步驟 406
15.8 陰影映射 409
15.8.1 案例效果與基本原理 409
15.8.2 距離紋理圖的生成 411
15.8.3 陰影場景的繪制 417
15.9 光線跟蹤 419
15.9.1 案例效果與基本原理 419
15.9.2 開發步驟 423
15.10 本章小結 436
第16章 游戲開發中的物理學 437
16.1 碰撞檢測基本技術 437
16.1.1 AABB包圍盒的基本原理 437
16.1.2 AABB包圍盒的計算 438
16.1.3 AABB包圍盒的碰撞檢測 440
16.1.4 一個AABB包圍盒的案例 442
16.1.5 旋轉后的AABB包圍盒 444
16.1.6 AABB包圍盒的使用要點 448
16.1.7 OBB包圍盒 448
16.2 穿透效應 449
16.2.1 案例的運行效果與基本原理 449
16.2.2 具體開發步驟 450
16.3 粒子系統 450
16.3.1 案例運行效果與基本原理 451
16.3.2 CPU版案例的開發 452
16.3.3 GPU版案例開發步驟 453
16.4 彈簧質點模型 455
16.4.1 案例運行效果與基本原理 455
16.4.2 具體開發步驟 457
16.5 本章小結 462
第17章 游戲的心臟——物理引擎 463
17.1 物理引擎很重要 463
17.1.1 什么是物理引擎 463
17.1.2 常見的物理引擎 463
17.2 JBullet物理引擎 466
17.2.1 基本的物理學概念 466
17.2.2 JBullet中常用類的介紹 468
17.3 箱子相互碰撞的案例 475
17.3.1 案例運行效果及準備工作 476
17.3.2 案例的基本框架結構 476
17.3.3 常量類——Constant 477
17.3.4 3D場景渲染類——MySurfaceView 478
17.3.5 水平地面——TexFloor類 480
17.3.6 箱子——TexCube類 481
17.4 復合碰撞形狀的使用 483
17.4.1 案例運行效果 483
17.4.2 立方體圓柱復合形狀——CubeCylinder類 483
17.5 凹凸地形的案例 486
17.5.1 案例運行效果 486
17.5.2 地形類——LandForm 486
17.6 任意形狀物體的碰撞 488
17.6.1 案例運行效果 488
17.6.2 加載物體類——LoadedObjectVertexNormal 488
17.6.3 加載物體剛體類——LoadRigidBody 490
17.7 鉸鏈關節 491
17.7.1 鉸鏈關節的基本知識 491
17.7.2 案例的運行效果 492
17.7.3 鉸鏈關節旋轉角速度的計算 493
17.7.4 3D界面渲染類——MySurfaceView 494
17.8 滑動關節 496
17.8.1 滑動關節的基本知識 496
17.8.2 案例效果圖 497
17.8.3 3D界面渲染類——MySurfaceView 498
17.9 六自由度關節 502
17.9.1 六自由度關節的基本知識 502
17.9.2 案例的運行效果 503
17.9.3 人偶類——Doll 503
17.9.4 拾取時采用的點對點關節 505
17.10 本章小結 509
第18章 傳感器應用的開發 510
18.1 基本的開發流程 510
18.2 加速度傳感器 512
18.2.1 加速度傳感器簡介 513
18.2.2 案例的開發 514
18.3 磁場傳感器 514
18.3.1 磁場傳感器簡介 514
18.3.2 案例的開發 514
18.4 光傳感器 516
18.4.1 光傳感器簡介 516
18.4.2 案例的開發 516
18.5 溫度傳感器 518
18.5.1 溫度傳感器簡介 518
18.5.2 案例的開發 518
18.6 接近傳感器 519
18.6.1 接近傳感器簡介 519
18.6.2 案例的開發 520
18.7 姿態傳感器 521
18.7.1 姿態傳感器簡介 521
18.7.2 案例的開發 522
18.8 本章小結 528
第19章 游戲開發小貼士 529
19.1 3D拾取技術 529
19.1.1 案例效果與基本原理 529
19.1.2 開發步驟 531
19.2 多點觸控 537
19.2.1 案例效果與基本原理 537
19.2.2 開發步驟 538
19.3 多鍵監聽 541
19.3.1 案例效果與基本原理 541
19.3.2 開發步驟 542
19.4 本章小結 544
第20章 BN賽艇 545
20.1 游戲背景及功能概述 545
20.1.1 背景概述 545
20.1.2 功能介紹 545
20.2 游戲的策劃及準備工作 547
20.2.1 游戲的策劃 547
20.2.2 Android平臺下游戲的準備工作 548
20.3 游戲的架構 552
20.3.1 各個類簡要介紹 553
20.3.2 游戲框架簡介 558
20.4 主控制類MyActivity 559
20.5 2D界面相關類 563
20.5.1 歡迎界面類WelcomeView 563
20.5.2 2D界面父類MySFView 565
20.5.3 主菜單類MenuView 565
20.5.4 2D界面繪制類ViewForDraw 566
20.5.5 數據庫工具類DBUtil 568
20.5.6 Android系統版本對話框AndroidVersionDialog 570
20.6 選船界面相關類 570
20.6.1 著色器管理類ShaderManager 571
20.6.2 圍墻類ColorLightRect 571
20.6.3 選船房間類HouseForDraw 573
20.6.4 展臺類DisplayStation 575
20.6.5 賽艇類Boat 576
20.6.6 選船界面XCSurfaceView 576
20.7 游戲界面相關類 582
20.7.1 進度條類Process 583
20.7.2 3D物體父類BNDrawer 584
20.7.3 3D物體控制類TDObjectForControl 584
20.7.4 賽艇類Boat 585
20.7.5 可碰撞物體父類KZBJDrawer 586
20.7.6 可碰撞物體控制類KZBJForControl 587
20.7.7 賽艇與可碰撞物體檢測碰撞線程ThreadColl 589
20.7.8 可吃物體父類SpeedForEat 590
20.7.9 可吃物體控制類SpeedForControl 590
20.7.10 晶體旋轉線程RotateThread 592
20.7.11 賽艇與晶體碰撞檢測線程ThreadForEat 592
20.7.12 比較兩灌木距離攝像機距離類MyComparable 593
20.7.13 單個灌木類SingleShrub 594
20.7.14 灌木控制類ShrubForControl 595
20.7.15 賽艇賽道類RaceTrack 596
20.7.16 賽艇與橋碰撞檢測類PZZ 598
20.7.17 賽艇運動路線工具類PathUtil 598
20.7.18 尾浪類WeiLang 599
20.7.19 水面類Water 600
20.7.20 游戲界面類MyGLSurfaceView 601
20.7.21 運動監聽線程KeyThread 611
20.8 該游戲中的著色器 613
20.9 游戲的優化與改進 615
第21章 火力籃球 616
21.1 游戲背景及功能概述 616
21.1.1 背景概述 616
21.1.2 功能介紹 616
21.2 游戲的策劃及準備工作 618
21.2.1 游戲的策劃 618
21.2.2 Android平臺下游戲開發的準備工作 619
21.3 游戲的架構 620
21.3.1 各個類簡要介紹 620
21.3.2 游戲框架簡介 623
21.4 公共類BasketBall_Shot_Activity 624
21.5 輔助界面相關類 631
21.5.1 主菜單界面CaiDanView類 631
21.5.2 設置界面ShengyinKGJiemian類 636
21.5.3 關于界面GuanYuView類 640
21.5.4 記錄界面JiLuView類 644
21.5.5 數據庫相關類SQLiteUtil 650
21.6 游戲界面相關類 651
21.6.1 游戲界面繪制類GLGameView 651
21.6.2 著色器程序管理器類ShaderManager 668
21.6.3 添加剛體進物理世界類TianjiaBody 669
21.6.4 添加膠囊剛體進物理世界類JiaoNangTianjiaBody 670
21.6.5 籃球控制類BasketBallForDraw 671
21.6.6 紋理矩形繪制類WenLiJuXing 672
21.7 游戲中著色器的開發 674
21.7.1 紋理的著色器 674
21.7.2 光照著色器 675
21.7.3 影子著色器 677
21.7.4 儀表盤背景著色器 679
21.7.5 籃網著色器 680
21.8 游戲的優化與改進 681
第22章 夜鷹行動 682
22.1 游戲背景及功能概述 682
22.1.1 背景概述 682
22.1.2 功能介紹 682
22.2 游戲的策劃及準備工作 685
22.2.1 游戲的策劃 686
22.2.2 Android平臺下游戲開發的準備工作 686
22.3 游戲的架構 690
22.3.1 各個類的簡要介紹 690
22.3.2 游戲框架簡介 694
22.4 公共類Aircraft_Activity 695
22.5 游戲相關類 698
22.5.1 游戲界面繪制類GLGameView 698
22.5.2 游戲線程類KeyThread 712
22.5.3 子彈類BulletForControl 726
22.5.4 坦克類TanKe 732
22.5.5 山地繪制類LandForm 737
22.5.6 顏色圓面類CircleForDraw 739
22.5.7 星空類SkyNight 740
22.5.8 爆炸效果繪制類DrawBomb 742
22.5.9 數字繪制類NumberForDraw 743
22.6 該游戲中的著色器 744
22.6 .1 加載界面著色器 744
22.6.2 地形著色器 745
22.6.3 按鈕著色器 747
22.6.4 星空著色器 748
22.6.5 生命值矩形著色器 748
22.6.6 顏色圓面著色器 748
22.7 游戲的優化與改進 749