Unity和C#游戲編程入門(第7版) 版權信息
- ISBN:9787302668022
- 條形碼:9787302668022 ; 978-7-302-66802-2
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
Unity和C#游戲編程入門(第7版) 本書特色
Unity能夠為游戲行為和游戲機制編寫自定義的C#腳本,該能力使Unity 加強大,這也是本書可以為編程新手提供幫助之處。 哈里森 ? 費隆(Harrison Ferrone)在這部暢銷書的第7版中,通過在Unity中構建一款有趣且可玩的游戲原型的方式,引導讀者從零了解C#語言和編程的每個組成部分。 本書將講解面向對象編程(OOP)的基礎、C#的基本概念以及如何使用Unity引擎,并通過大量的代碼示例、練習和提示說明幫助讀者悟透本書內容,提高實戰能力。 讀者將通過編寫C#腳本實現簡單的游戲機制、執行過程化編程,并通過引入智能敵人和可造成傷害的投射物來為游戲增加復雜度。伴隨著每個章節的學習,讀者將探索Unity游戲開發的基礎知識,包括游戲設計、光照基礎、玩家移動、攝像機控制、碰撞等。
Unity和C#游戲編程入門(第7版) 內容簡介
Unity能夠為游戲行為和游戲機制編寫自定義的C#腳本,該能力使Unity更加強大,這也是本書可以為編程新手提供幫助之處。
哈里森·費隆(Harrison Ferrone)在這部暢銷書的第7版中,通過在Unity中構建一款有趣且可玩的游戲原型的方式,引導讀者從零了解C#語言和編程的每個組成部分。
本書將講解面向對象編程(OOP)的基礎、C#的基本概念以及如何使用Unity引擎,并通過大量的代碼示例、練習和提示說明幫助讀者悟透本書內容,提高實戰能力。
讀者將通過編寫C#腳本實現簡單的游戲機制、執行過程化編程,并通過引入智能敵人和可造成傷害的投射物來為游戲增加復雜度。伴隨著每個章節的學習,讀者將探索Unity游戲開發的基礎知識,包括游戲設計、光照基礎、玩家移動、攝像機控制、碰撞等。
Unity和C#游戲編程入門(第7版) 目錄
第1章 了解開發環境 1
1.1 技術要求 1
1.2 Unity 2022入門 2
1.2.1 使用macOS 7
1.2.2 創建新項目 7
1.2.3 編輯器界面導航 9
1.3 在Unity中使用C# 11
1.3.1 使用C#腳本 11
1.3.2 介紹Visual Studio編輯器 12
1.3.3 同步C#文件 14
1.4 瀏覽技術文檔 15
1.4.1 訪問Unity的技術文檔 15
1.4.2 查找C#資源 18
1.5 本章小結 19
1.6 小測驗 —— 關于腳本 20
第2章 編程的基本構建塊 21
2.1 定義變量 21
2.1.1 名字很重要 22
2.1.2 變量充當占位符 23
2.2 了解方法 26
2.2.1 方法驅使行為 26
2.2.2 方法也是占位符 27
2.3 類 29
2.3.1 一個常見的Unity類 30
2.3.2 類就像藍圖 30
2.3.3 類之間的通信 31
2.4 使用注釋 32
2.4.1 單行注釋 32
2.4.2 多行注釋 32
2.4.3 添加注釋 33
2.5 整合基本構建塊 33
2.5.1 將腳本變成組件 34
2.5.2 來自MonoBehaviour的助力 36
2.6 本章小結 37
2.7 小測驗——C#的基本構建塊 37
第3章 深入了解變量、類型和方法 39
3.1 編寫符合規范的C#代碼 40
3.2 調試代碼 41
3.3 深入了解變量 42
3.3.1 聲明變量 42
3.3.2 使用訪問修飾符 44
3.3.3 了解數據類型 46
3.3.4 命名變量 51
3.3.5 了解變量的作用域 52
3.4 運算符 53
3.5 定義方法 55
3.5.1 聲明方法 56
3.5.2 命名約定 58
3.5.3 方法是邏輯上的繞行道 58
3.5.4 指定參數 59
3.5.5 指定返回值 60
3.5.6 使用返回值 61
3.6 本章小結 64
3.7 小測驗——變量和方法 65
第4章 控制流和集合類型 67
4.1 選擇語句 67
4.1.1 if-else 語句 68
4.1.2 switch語句 77
4.1.3 小測驗1——if語句與邏輯運算符 82
4.2 初識集合 82
4.2.1 數組 82
4.2.2 列表 86
4.2.3 字典 89
4.2.4 小測驗2—— 關于集合的一切 92
4.3 迭代語句 92
4.3.1 for循環 92
4.3.2 foreach循環 96
4.3.3 while 循環 98
4.3.4 超越無限 100
4.4 本章小結 101
第5章 使用類、結構體以及面向對象編程 103
5.1 什么是面向對象編程 104
5.2 定義類 104
5.2.1 實例化類對象 105
5.2.2 添加類字段 106
5.2.3 使用構造方法 107
5.2.4 聲明類方法 110
5.3 聲明結構體 111
5.4 了解引用類型和值類型 114
5.4.1 引用類型 114
5.4.2 值類型 115
5.5 植入面向對象的思維 116
5.5.1 封裝 117
5.5.2 繼承 118
5.5.3 組合 120
5.5.4 多態 121
5.6 在Unity中應用面向對象編程 122
5.6.1 對象是類的行動 123
5.6.2 訪問組件 124
5.7 本章小結 128
5.8 小測驗——面向對象編程的那些事 128
第6章 親手實踐Unity 129
6.1 游戲設計入門 129
6.1.1 游戲設計文檔 130
6.1.2 Hero Born游戲單頁文檔 131
6.2 構建關卡 131
6.2.1 創建原始對象 132
6.2.2 用3D思維思考 134
6.2.3 材質 135
6.2.4 白盒 138
6.3 光照基礎 147
6.3.1 創建光源 147
6.3.2 Light組件屬性 148
6.4 在Unity中制作動畫 149
6.4.1 使用代碼創建動畫 150
6.4.2 在Unity中使用Animation窗口創建動畫 151
6.4.3 錄制關鍵幀 154
6.4.4 曲線和切線 156
6.5 本章小結 158
6.6 小測驗—— Unity的基本功能 159
第7章 角色移動、攝像機以及碰撞 161
7.1 管理玩家移動 161
7.2 使用Transform組件移動玩家 162
7.2.1 理解向量 164
7.2.2 獲取玩家輸入 166
7.2.3 角色移動 167
7.3 編寫攝像機行為腳本 170
7.4 使用Unity物理系統 172
7.4.1 剛體運動 174
7.4.2 碰撞體和碰撞 178
7.4.3 使用碰撞觸發器 181
7.4.4 物理系統綜述 185
7.5 本章小結 186
7.6 小測驗 —— 玩家控制和物理系統 186
第8章 游戲機制腳本編寫 187
8.1 添加跳躍 187
8.1.1 枚舉介紹 188
8.1.2 使用層遮罩 191
8.2 發射子彈 196
8.2.1 實例化對象 196
8.2.2 添加射擊機制 198
8.2.3 管理對象堆積 201
8.3 創建游戲管理器 202
8.3.1 追蹤玩家屬性 202
8.3.2 get和set屬性 204
8.3.3 更新道具收集 206
8.4 創建GUI 208
8.4.1 顯示玩家數據 208
8.4.2 勝負條件 216
8.4.3 使用指令和命名空間暫停和重啟游戲 221
8.5 本章小結 225
8.6 小測驗——游戲機制 225
第9章 AI基礎與敵人行為 227
9.1 在Unity中導航3D空間 227
9.1.1 導航組件 228
9.1.2 設置敵人代理 230
9.2 移動敵人代理 231
9.2.1 面向過程編程 231
9.2.2 引用巡邏點 232
9.2.3 移動敵人 234
9.3 敵人游戲機制 238
9.3.1 尋找和銷毀:改變代理的目標 238
9.3.2 減少玩家生命值 240
9.3.3 檢測子彈碰撞 241
9.3.4 更新游戲管理器 244
9.4 重構并保持“DRY” 246
9.5 本章小結 248
9.6 小測驗——AI和導航 248
第10章 重睹類型、方法和類 249
10.1 再談訪問修飾符 249
10.1.1 常量和只讀屬性 250
10.1.2 使用static關鍵字 250
10.2 重睹方法 252
10.2.1 重載方法 252
10.2.2 ref參數 254
10.2.3 out參數 256
10.3 中級的面向對象編程 257
10.3.1 接口 257
10.3.2 抽象類 261
10.3.3 類的擴展 263
10.4 命名空間沖突和類型別名 266
10.5 本章小結 267
10.6 小測驗——升級 268
第11章 特殊集合類型和LINQ 269
11.1 棧 269
11.1.1 出棧(Pop)和查看棧頂(Peek) 273
11.1.2 常用方法 274
11.2 隊列 275
11.3 哈希集 277
11.4 關于中級集合的小結 279
11.5 用LINQ查詢數據 280
11.5.1 LINQ基礎 280
11.5.2 lambda表達式 283
11.5.3 鏈式查詢 284
11.5.4 將數據轉換為新類型 285
11.5.5 用可選語法化簡 286
11.6 本章小結 288
11.7 小測驗——中級的集合 288
第12章 保存、加載與數據序列化 289
12.1 數據格式 289
12.1.1 解構XML 290
12.1.2 解構JSON 291
12.2 了解文件系統 293
12.2.1 使用資產路徑 295
12.2.2 創建或刪除目錄 297
12.2.3 創建、更新、刪除文件 299
12.3 使用數據流 305
12.3.1 管理數據流資源 306
12.3.2 使用StreamWriter與StreamReader 306
12.3.3 創建一個XMLWriter 310
12.3.4 自動關閉數據流 313
12.4 數據序列化 314
12.4.1 序列化和反序列化XML 315
12.4.2 序列化和反序列化JSON 319
12.5 數據匯總 325
12.6 本章小結 326
12.7 小測驗——數據管理 326
第13章 探索泛型、委托以及更多 327
13.1 泛型 327
13.1.1 泛型類 328
13.1.2 泛型方法 330
13.1.3 約束類型參數 333
13.1.4 向Unity對象添加泛型 336
13.2 委托行動 337
13.2.1 創建調試委托 337
13.2.2 將委托作為參數類型 339
13.3 觸發事件 340
13.3.1 創建并調用事件 341
13.3.2 處理事件訂閱 342
13.3.3 清理事件訂閱 344
13.4 處理異常 345
13.4.1 拋出異常 345
13.4.2 使用try-catch語句 347
13.5 本章小結 350
13.6 小測驗——中級 C# 350
第14章 旅程繼續 351
14.1 有待更深入的知識 351
14.2 牢記面向對象編程 352
14.3 設計模式入門 353
14.4 走進Unity項目 353
14.5 本書未提及的Unity特性 354
14.6 下一步的學習 354
14.6.1 C#資源 354
14.6.2 Unity資源 355
14.6.3 Unity認證 355
14.7 英雄的試煉 —— 向全世界展示 356
14.8 本章小結 357
小測驗答案 359
展開全部
Unity和C#游戲編程入門(第7版) 作者簡介
(美)哈里森·費隆(Harrison Ferrone)是土生土長的芝加哥人,他經常為LinkedIn和Pluralsight創建教學內容,并擔任Ray Wenderlich網站的技術編輯,曾為Microsoft的混合現實團隊編寫技術文檔。 在科羅拉多大學博爾德分校和芝加哥哥倫比亞學院求學時,Harrison Ferrone撰寫過多篇引發關注的論文。作為iOS開發人員,在為一家初創公司和另一家名列《財富》500強的公司工作數年后,Harrison Ferrone選擇從事教育事業。