Unity 和 C# 游戲編程入門, 7/e
[美] 哈里森·費隆(Harrison Ferrone)著 王冬、殷崇英 譯
- 出版商: 清華大學
- 出版日期: 2024-08-01
- 售價: $419
- 貴賓價: 9.5 折 $398
- 語言: 簡體中文
- ISBN: 7302668027
- ISBN-13: 9787302668022
-
相關分類:
C#、遊戲引擎 Game-engine
- 此書翻譯自: Learning C# by Developing Games with Unity - Seventh Edition: Get to grips with coding in C# and build simple 3D games in Unity 2022 from the ground u
立即出貨
買這商品的人也買了...
-
$594$564 -
$356Unity MOBA 多人競技手游製作教程
-
$357$339 -
$599$569 -
$403Unity3D 平臺 AR 開發快速上手:基於 EasyAR 4.0
-
$820$738 -
$352虛擬現實開發基礎
-
$250$213 -
$450$356 -
$356Unity 腳本語言基礎 (基於 C#)(微課版)
-
$485VR/AR 應用開發 (Unity 3D)
-
$588$559 -
$980$774 -
$599$569 -
$680$537 -
$539$512 -
$648$616 -
$419$398
相關主題
商品描述
"主要內容: ● 解構並理解編程的基礎知識 ● 通過代碼示例全面瞭解面向對象編程以及它是如何在C#中應用的跟隨簡單的步驟和示例在Unity中創建和實現C#腳本 ● 使用接口、抽象類和類擴展將代碼分割成可以靈活復用的構建塊 ● 掌握游戲設計文檔的基礎知識,進行關卡搭建、添加光照和簡單的對象動畫 ● 使用C#創建簡單的游戲機制,例如實現玩家控制器和射擊機制 ● 熟悉堆棧、隊列、異常處理、錯誤處理等其他C#核心概念 ● 處理文本、XML以及JSON數據以保存和加載游戲數據 "
作者簡介
Harrison Ferrone是土生土長的芝加哥人,他經常為LinkedIn和Pluralsight創建教學內容,並擔任Ray Wenderlich網站的技術編輯,曾為Microsoft的混合現實團隊編寫技術文檔。
在科羅拉多大學博爾德分校和芝加哥哥倫比亞學院求學時,Harrison Ferrone撰寫過多篇引發關注的論文。作為iOS開發人員,在為一家初創公司和另一家名列《財富》500強的公司工作數年後,Harrison Ferrone選擇從事教育事業。
目錄大綱
目錄
第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