Android 3D遊戲程序設計 Beginning Android 3D Game Development
Robert Chin 劉君 譯
- 出版商: 清華大學
- 出版日期: 2021-03-01
- 定價: $894
- 售價: 7.9 折 $706
- 語言: 簡體中文
- 頁數: 453
- 裝訂: 平裝
- ISBN: 730256499X
- ISBN-13: 9787302564997
-
相關分類:
Android、3D建模 3D-modeling
- 此書翻譯自: Beginning Android 3D Game Development (Paperback)
立即出貨 (庫存 < 4)
買這商品的人也買了...
-
網頁設計應用集─用 Photoshop + Flash + Dreamweaver 製作令人激賞的專業網站$520$406 -
Visual Basic 2012 網路程式設計線上遊戲實作$450$351 -
It's Django -- 用 Python 迅速打造 Web 應用$400$340 -
$474奔跑吧 Linux 內核 -
完整學會 Git, GitHub, Git Server 的 24堂課, 2/e$440$374 -
Android 御用語言:比 Java 還精美的 Kotlin$540$459 -
$301Python數學編程 -
$207電腦圖形學編程 (使用 OpenGL 和 C++) -
Visual C# 網路程式設計 - 線上遊戲實作$500$390 -
VR-Blender 物理模擬與遊戲特效開發設計$294$279 -
數據庫系統概念, 7/e (Database System Concepts, 7/e)$894$849 -
3D電腦圖形學基礎$408$388 -
先讓魔王有魅力:破解好玩 Game 的爆紅公式!設計遊戲之前必須搞懂的玩家體驗$380$300 -
演算法導論, 4/e (Introduction to Algorithms, 4/e)$1,800$1,422 -
UE5 虛幻引擎必修課 (視頻教學版)$594$564 -
程式不會動就不能下班!給新手工程師的 Debug 攻略$550$435 -
$403AIGC 藝術設計實戰:遊戲場景 -
$403AIGC 遊戲策劃 -
AIGC 輔助遊戲美術設計詳解$594$564 -
大模型驅動的遊戲開發$479$455 -
龍與地下城興亡史:沒有它,這個世界就沒有角色扮演遊戲$520$411 -
遊戲設計:深層設計思想與技巧, 2/e$354$336 -
$454GPTs 在遊戲行業中的應用與實踐 -
基於 .NET 的 Unity 遊戲開發 — Unity 和 Microsoft Game Dev 遊戲開發教程$774$735 -
Unity3D 動作遊戲開發 (從入門到項目實踐)$479$455
中文年末書展|繁簡參展書2書75折 詳見活動內容 »
-
75折
為你寫的 Vue Components:從原子到系統,一步步用設計思維打造面面俱到的元件實戰力 (iThome 鐵人賽系列書)$780$585 -
75折
BDD in Action, 2/e (中文版)$960$720 -
75折
看不見的戰場:社群、AI 與企業資安危機$750$563 -
79折
AI 精準提問 × 高效應用:DeepSeek、ChatGPT、Claude、Gemini、Copilot 一本搞定$390$308 -
7折
超實用!Word.Excel.PowerPoint 辦公室 Office 365 省時高手必備 50招, 4/e (暢銷回饋版)$420$294 -
75折
裂縫碎光:資安數位生存戰$550$412 -
日本當代最強插畫 2025 : 150位當代最強畫師豪華作品集$640$576 -
79折
Google BI 解決方案:Looker Studio × AI 數據驅動行銷實作,完美整合 Google Analytics 4、Google Ads、ChatGPT、Gemini$630$498 -
79折
超有料 Plus!職場第一實用的 AI 工作術 - 用對 AI 工具、自動化 Agent, 讓生產力全面進化!$599$473 -
75折
從零開始學 Visual C# 2022 程式設計, 4/e (暢銷回饋版)$690$518 -
75折
Windows 11 制霸攻略:圖解 AI 與 Copilot 應用,輕鬆搞懂新手必學的 Windows 技巧$640$480 -
75折
精準駕馭 Word!論文寫作絕非難事 (好評回饋版)$480$360 -
Sam Yang 的插畫藝術:用 Procreate / PS 畫出最強男友視角 x 女孩美好日常$699$629 -
79折
AI 加持!Google Sheets 超級工作流$599$473 -
78折
想要 SSR? 快使用 Nuxt 吧!:Nuxt 讓 Vue.js 更好處理 SEO 搜尋引擎最佳化(iThome鐵人賽系列書)$780$608 -
78折
超實用!業務.總管.人資的辦公室 WORD 365 省時高手必備 50招 (第二版)$500$390 -
7折
Node-RED + YOLO + ESP32-CAM:AIoT 智慧物聯網與邊緣 AI 專題實戰$680$476 -
79折
「生成式⇄AI」:52 個零程式互動體驗,打造新世代人工智慧素養$599$473 -
7折
Windows APT Warfare:惡意程式前線戰術指南, 3/e$720$504 -
75折
我輩程式人:回顧從 Ada 到 AI 這條程式路,程式人如何改變世界的歷史與未來展望 (We, Programmers: A Chronicle of Coders from Ada to AI)$850$637 -
75折
不用自己寫!用 GitHub Copilot 搞定 LLM 應用開發$600$450 -
79折
Tensorflow 接班王者:Google JAX 深度學習又快又強大 (好評回饋版)$780$616 -
79折
GPT4 會你也會 - 共融機器人的多模態互動式情感分析 (好評回饋版)$700$553 -
79折
技術士技能檢定 電腦軟體應用丙級術科解題教本|Office 2021$460$363 -
75折
Notion 與 Notion AI 全能實戰手冊:生活、學習與職場的智慧策略 (暢銷回饋版)$560$420
相關主題
商品描述
《Android 3D遊戲程序設計》詳細闡述了與Android 3D遊戲設計相關的解決方案,主要包括Android簡介、Android中的Java語言、3D數學知識、基於OpenGL ES的3D圖形學、運動和碰撞、遊戲環境、創建玩家角色、創建敵方角色、用戶界面、最終的Drone Grid遊戲、Android原生開發包(NDK)、遊戲的發布和市場化運作等內容。此外,本書還提供了豐富的示例和代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學教材和參考手冊。
目錄大綱
第1章Android簡介 1
1.1 Android概述 1
1.2 Android SDK 1
1.2.1 Android軟件開發工具包(SDK)的需求條件 1
1.2.2 Android SDK組件 2
1.2.3 配置開發環境 5
1.2.4 Android開發工具集成開發環境 6
1.3 “Hello World”示例程序11
1.3.1 創建新的Android項目11
1.3.2 Android模擬器16
1.3.3 真實的Android設備18
1.3.4 主源代碼19
1.3.5 圖形佈局20
1.3.6 實際的“Hello World”數據22
1.4 本章小結22
第2章Android中的Java語言23
2.1 Java語言概述23
2.2 Java註釋23
2.3 Java基本數據類型24
2.3.1 數組24
2.3.2 數據修飾符24
2.4 Java運算符25
2.4.1 算術運算符25
2.4.2 一元運算符26
2.4.3 條件運算符26
2.4.4 位運算符和移位運算符26
2.5 Java流控制語句27
2.6 Java類28
2.6.1 包和類28
2.6.2 訪問包中的類28
2.6.3 Java接口29
2.6.4 訪問類變量和函數29
2.7 Java函數30
2.8 基本的Android Java程序框架31
2.8.1 Activity類的生命週期31
2.8.2 Activity類生命週期的關鍵點32
2.8.3 查看Activity的生命週期32
2.9 基本的Android Java OpenGL框架34
2.9.1 單視圖OpenGL ES應用程序34
2.9.2 OpenGL ES多視圖應用程序37
2.10 3D OpenGL“Hello Droid”示例40
2.10.1 將項目示例導入Eclipse中40
2.10.2 MainActivity和MyGLSurfaceView類40
2.10.3 MyGLRenderer類42
2.10.4 類概述46
2.10.5 體驗“Hello Droid”示例程序47
2.11 本章小結49
第3章3D數學知識51
3.1 向量和向量操作51
3.1.1 向量的含義51
3.1.2 Vector類54
3.1.3 向量的模54
3.1.4 向量的標準化55
3.1.5 向量加法55
3.1.6 向量乘法56
3.1.7 向量逆置57
3.1.8 直角三角形58
3.1.9 向量點積58
3.2 矩陣和矩陣操作60
3.2.1 矩陣的含義60
3.2.2 Android內建Matrix類61
3.2.3 單位矩陣61
3.2.4 矩陣轉置61
3.2.5 矩陣乘法62
3.2.6 逆矩陣63
3.2.7 齊次坐標63
3.2.8 使用矩陣平移對象63
3.2.9 使用矩陣旋轉對象64
3.2.10 使用矩陣縮放對象65
3.2.11 組合矩陣65
3.3 操控3D空間中的對象66
3.3.1 構建3D對象的模型矩陣66
3.3.2 向對像中添加旋轉行為68
3.3.3 在3D空間中移動對象69
3.3.4 縮放對象71
3.4 本章小結72
第4章基於OpenGL ES的3D圖形學73
4.1 Android上的OpenGL ES 73
4.1.1 OpenGL對象渲染73
4.1.2 渲染過程74
4.2 OpenGL ES著色語言80
4.2.1 基本數據類型80
4.2.2 向量分量81
4.2.3 運算符和表達式81
4.2.4 程序流控制語句82
4.2.5 存儲限定符83
4.2.6 保留變量84
4.2.7 內置函數84
4.3 頂點著色器85
4.4 片元或像素著色器86
4.5 Shader類87
4.6 相機94
4.7 3D對象網格100
4.7.1 網格頂點數據100
4.7.2 MeshEx類101
4.8 光照機制107
4.8.1 光照機制概述107
4.8.2 PointLight類108
4.8.3 構建法線矩陣111
4.8.4 頂點著色器中的光照112
4.8.5 片元著色器光照115
4.9 材質116
4.9.1 Material類117
4.9.2 片元著色器中的材質117
4.10 紋理118
4.10.1 紋理放大和縮小118
4.10.2 紋理剪裁和重複119
4.10.3 Texture類120
4.10.4 頂點著色器中的紋理122
4.10.5 片元著色器中的紋理123
4.11 本章小結123
第5章運動和碰撞125
5.1 運動行為概述125
5.1.1 線性速度和角加速度125
5.1.2 牛頓運動定律126
5.1.3 重力127
5.1.4 角速度和角加速度127
5.1.5 旋轉作用力128
5.2 Physics類129
5.3 基於作用力的線性運動和角運動示例135
5.3.1 創建4面紋理立方體135
5.3.2 調整Object3d類136
5.3.3 調整MyGLRenderer類137
5.4 碰撞行為概述139
5.4.1 碰撞檢測139
5.4.2 調整MeshEx類140
5.4.3 調整Object3d類143
5.4.4 碰撞類型144
5.4.5 調整Physics類145
5.4.6 碰撞計算149
5.4.7 最終的Physics類150
5.5 碰撞計算示例151
5.5.1 調整MyGLRenderer類151
5.5.2 牛頓萬有引力定律154
5.6 使用頂點著色器創建重力網格155
5.6.1 修改Physics類155
5.6.2 修改MeshEx類155
5.6.3 GravityGridEx類156
5.6.4 創建新的頂點著色器167
5.6.5 調整MyGLRenderer類170
5.7 本章小結175
第6章遊戲環境177
6.1 Android中的聲音177
6.1.1 Sound類177
6.1.2 調整Object3d類178
6.2 音效示例180
6.3 HUD概述184
6.3.1 HUD 184
6.3.2 創建BillBoard類185
6.3.3 創建BillBoardFont類188
6.3.4 調整Texture類189
6.3.5 創建BillBoardCharacterSet類189
6.3.6 創建HUDItem類194
6.3.7 創建HUD類196
6.3.8 調整Object3d類202
6.4 HUD創建示例203
6.5 數據持久化212
6.5.1 調整Orientation類213
6.5.2 調整Physics類214
6.5.3 調整Object3d類214
6.6 保存持久化數據214
6.6.1 調整MyGLRenderer類214
6.6.2 調整MyGLSurfaceView類216
6.6.3 調整MainActivity類217
6.7 本章小結217
第7章創建玩家角色219
7.1 創建玩家圖形219
7.1.1 創建Mesh類219
7.1.2 調整Object3d類220
7.1.3 調整使用Object3d類的其他類222
7.1.4 創建Pyramid類223
7.1.5 創建PowerPyramid類224
7.2 創建玩家的視點和輸入225
7.2.1 調整MyGLRenderer類226
7.2.2 調整MyGLSurfaceView類228
7.3 創建玩家的武器和彈藥229
7.4 創建爆炸效果239
7.4.1 創建PolyParticleEx類239
7.4.2 創建SphericalPolygonExplosion類244
7.4.3 調整Object3d類252
7.5 生成遊戲對象的統計數據253
7.5.1 創建Stats類253
7.5.2 調整Object3d類255
7.6 射擊目標256
7.6.1 創建玩家的武器系統259
7.6.2 處理碰撞問題263
7.6.3 調整onDrawFrame()函數265
7.7 本章小結268
第8章創建敵方角色269
8.1 創建Arena對象269
8.2 人工智能概述273
8.3 創建坦克敵方角色275
8.3.1 創建坦克圖形275
8.3.2 創建坦克狀態276
8.3.3 創建車輛命令278
8.3.4 創建坦克狀態並處理命令284
8.3.5 創建車輛的轉向類286
8.3.6 創建坦克的巡邏/攻擊狀態288
8.3.7 創建坦克對象的有限狀態機299
8.3.7 創建坦克對象的Driver類303
8.3.9 調整Physics類307
8.3.10 調整Object3d類309
8.3.11 創建坦克對象310
8.4 ArenaObject3d類和Tank類318
8.5 本章小結326
第9章用戶界面327
9.1 創建主菜單系統327
9.1.1 MenuItem類327
9.1.2 MainMenu類329
9.2 創建高分榜332
9.2.1 HighScoreEntry類332
9.2.2 HighScoreTable類334
9.3 創建高分輸入系統342
9.4 用戶界面示例350
9.5 本章小結360
第10章最終的Drone Grid遊戲361
10.1 組織和控制敵方角色分組361
10.1.1 ArenaObjectSet類361
10.1.2 TankFleet類372
10.2 GamePlayController類376
10.3 保存和加載遊戲狀態385
10.3.1 調整MainActivity類386
10.3.2 調整MyGLRenderer類386
10.4 根據遊戲結束狀態添加遊戲388
10.5 Drone Grid遊戲示例392
10.6 本章小結404
第11章Android原生開發工具包(NDK) 405
11.1 NDK概述405
11.2 NDK系統需求條件405
11.3 Android平臺兼容性406
11.4 安裝Android NDK 406
11.5 Android NDK的使用方式407
11.6 Java本地接口概述407
11.6.1 Java接口指針408
11.6.2 加載和鏈接本地C/C++方法408
11.6.3 命名的本地函數409
11.6.4 本地函數參數409
11.6.5 C/C++本地函數格式410
11.6.6 本地類型410
11.6.7 引用類型410
11.6.8 JNI簽名類型411
11.6.9 調用Java中的本地代碼並訪問本地代碼中的Java方法412
11.6.10 JNI函數413
11.7 Android JNI Makefile 414
11.8 基於JNI和本地代碼的“Hello World”示例415
11.9 向Drone Grid遊戲中添加本地函數419
11.9.1 計算本地代碼中的重力419
11.9.2 從本地代碼中旋轉對象420
11.9.3 從本地代碼中計算碰撞的反作用力424
11.10 本章小結428
第12章遊戲的發布和市場化運作429
12.1 創建最終的發布文件429
12.2 測試.apk發布文件432
12.3 Android市場和策略列表435
12.3.1 Google Play 435
12.3.2 Amazon Appstore 435
12.3.3 Samsung Apps Store 436
12.3.4 Aptoide 436
12.3.5 Appitalism 436
12.3.6 GetJar 437
12.3.7 SlideMe 437
12.3.8 Soc.Io Mall 437
12.3.9 用戶自己的網站437
12.4 Android廣告網絡列表438
12.4.1 AppFlood 438
12.4.2 Appwiz 439
12.4.3 LeadBolt 439
12.4.4 AppBucks 440
12.4.5 AdMob 441
12.4.6 StartApp 442
12.4.7 其他廣告網絡和營銷公司444
12.5 Android遊戲評論網站447
12.6 其他有用的網站452
12.7 本章小結452



