游戲開(kāi)發(fā)基礎(chǔ)——基于Unity游戲引擎
定 價(jià):69.9 元
- 作者:張帆
- 出版時(shí)間:2024/8/1
- ISBN:9787121477348
- 出 版 社:電子工業(yè)出版社
- 中圖法分類(lèi):TP317.6
- 頁(yè)碼:340
- 紙張:
- 版次:01
- 開(kāi)本:16開(kāi)
本書(shū)是國(guó)家級(jí)一流本科專(zhuān)業(yè)(數(shù)字媒體技術(shù))課程“游戲開(kāi)發(fā)基礎(chǔ)”的指定教材,同時(shí)被列為浙江省普通本科高!笆奈濉敝攸c(diǎn)立項(xiàng)建設(shè)教材。本書(shū)以Unity游戲引擎為平臺(tái),詳細(xì)闡述了12款經(jīng)典游戲的實(shí)現(xiàn)方法,這些游戲包括《打地鼠》、《記憶翻牌》、《拼圖》、《推箱子》、《俄羅斯方塊》、《華容道》、《連連看》、《三消》、《掃雷》、《貪吃蛇》、《五子棋》和《跳棋》。通過(guò)本書(shū)的學(xué)習(xí)和實(shí)踐,讀者能夠全面理解和掌握游戲開(kāi)發(fā)的核心算法,同時(shí)深刻領(lǐng)悟數(shù)據(jù)結(jié)構(gòu)等基礎(chǔ)知識(shí)在游戲開(kāi)發(fā)中的實(shí)際應(yīng)用,培養(yǎng)全面的工程思維。通過(guò)學(xué)習(xí)本書(shū)內(nèi)容,讀者不僅能夠熟練掌握游戲引擎的運(yùn)用,更能夠靈活運(yùn)用數(shù)據(jù)結(jié)構(gòu)、數(shù)學(xué)思路等理論知識(shí)進(jìn)行游戲創(chuàng)作。本書(shū)既適合作為各院校相關(guān)專(zhuān)業(yè)的教材,又適合作為對(duì)游戲開(kāi)發(fā)感興趣的讀者的參考書(shū)。
浙江傳媒學(xué)院數(shù)字媒體技術(shù)專(zhuān)業(yè)主任,數(shù)字媒體與網(wǎng)絡(luò)工程系副主任(主持工作),教師。澳門(mén)科技大學(xué)人文藝術(shù)學(xué)院博士。Unity價(jià)值專(zhuān)家,Unity全球認(rèn)證講師。中國(guó)大學(xué)生計(jì)算機(jī)設(shè)計(jì)大賽省級(jí)賽和國(guó)賽評(píng)委,全國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)文科專(zhuān)委會(huì)委員,浙江省電子競(jìng)技協(xié)會(huì)副秘書(shū)長(zhǎng),中國(guó)文化管理協(xié)會(huì)電子競(jìng)技工作委員會(huì)委員,全國(guó)高等院校計(jì)算機(jī)基礎(chǔ)教育研究會(huì)網(wǎng)絡(luò)科技與智能媒體設(shè)計(jì)專(zhuān)業(yè)委員會(huì)委員。主講課程“游戲開(kāi)發(fā)基礎(chǔ)”獲浙江省本科院!盎ヂ(lián)網(wǎng)+教學(xué)”示范課堂;配套大規(guī)模在線(xiàn)開(kāi)放課程“一刻鐘學(xué)會(huì):游戲開(kāi)發(fā)基礎(chǔ)”(“中國(guó)大學(xué)MOOC”平臺(tái))獲浙江省省級(jí)線(xiàn)上一流課程,并被Unity官方中文課堂收錄!队螒蜷_(kāi)發(fā)基礎(chǔ)——基于Unity游戲引擎》被列為浙江省普通本科高!笆奈濉敝攸c(diǎn)立項(xiàng)建設(shè)教材。曾獲第三屆全國(guó)高校數(shù)字創(chuàng)意教學(xué)技能大賽一等獎(jiǎng),浙江傳媒學(xué)院“教學(xué)十佳”,“課程思政”微課比賽一等獎(jiǎng),以及智慧精彩一堂課一等獎(jiǎng)等。主要研究方向:數(shù)字娛樂(lè)技術(shù)、人機(jī)交互技術(shù)、技術(shù)美術(shù)和人工智能等。
第1章 游戲引擎介紹 1
1.1 多平臺(tái)發(fā)布的Unity 1
1.2 Unity的下載和安裝 1
1.2.1 下載Unity 2
1.2.2 安裝Unity 2
1.2.3 注冊(cè)Unity 4
1.2.4 啟動(dòng)Unity 4
1.3 Unity編輯器的布局 5
1.3.1 標(biāo)題欄 5
1.3.2 主菜單欄 6
1.3.3 Project(項(xiàng)目資源)窗口 13
1.3.4 Hierarchy(層級(jí))窗口 19
1.3.5 Scene(場(chǎng)景)窗口 21
1.3.6 Inspector(組件)窗口 30
1.3.7 Game(游戲預(yù)覽)窗口 35
1.3.8 Console(控制臺(tái))窗口 36
1.4 自定義窗口布局 37
1.4.1 使用Unity內(nèi)置的窗口
布局功能 37
1.4.2 自由設(shè)定窗口布局 39
1.5 本章小結(jié) 40
1.6 練習(xí)題 40
第2章 打地鼠 41
2.1 游戲簡(jiǎn)介 41
2.2 游戲規(guī)則 41
2.3 游戲開(kāi)發(fā)核心思路 41
2.3.1 洞口位置的存儲(chǔ)結(jié)構(gòu)和計(jì)算 41
2.3.2 地鼠出現(xiàn)頻率的控制 42
2.3.3 地鼠的隨機(jī)生成和銷(xiāo)毀 42
2.3.4 游戲時(shí)長(zhǎng)和分?jǐn)?shù) 42
2.3.5 游戲流程圖 43
2.4 游戲?qū)崿F(xiàn) 43
2.4.1 資源的導(dǎo)入與Sorting Layer 43
2.4.2 生成洞口 45
2.4.3 地鼠的生成 46
2.4.4 打擊地鼠 49
2.4.5 計(jì)時(shí)功能 50
2.4.6 計(jì)分功能 52
2.4.7 游戲結(jié)束 53
2.4.8 修改地鼠出現(xiàn)頻率 53
2.4.9 修改圖標(biāo) 54
2.4.10 添加音效 55
2.4.11 重新開(kāi)始游戲 56
2.4.12 導(dǎo)出游戲 56
2.5 本章小結(jié) 57
2.6 練習(xí)題 57
第3章 記憶翻牌 58
3.1 游戲簡(jiǎn)介 58
3.2 游戲規(guī)則 58
3.3 游戲開(kāi)發(fā)核心思路 58
3.3.1 生成卡牌池 58
3.3.2 洗牌 59
3.3.3 卡牌狀態(tài) 60
3.3.4 游戲計(jì)分 60
3.3.5 游戲流程圖 61
3.4 游戲?qū)崿F(xiàn) 61
3.4.1 游戲資源的導(dǎo)入與場(chǎng)景搭建 61
3.4.2 卡牌的位置排列 62
3.4.3 洗牌功能的實(shí)現(xiàn) 63
3.4.4 顯示卡牌的背面與
卡牌的圖案 64
3.4.5 設(shè)置卡牌狀態(tài) 66
3.4.6 卡牌圖案的配對(duì) 67
3.4.7 計(jì)算分?jǐn)?shù)與步數(shù) 69
3.5 本章小結(jié) 72
3.6 練習(xí)題 72
第4章 拼圖 73
4.1 游戲簡(jiǎn)介 73
4.2 游戲規(guī)則 73
4.3 游戲開(kāi)發(fā)核心思路 73
4.3.1 碎片對(duì)象的生成與位置初始化 73
4.3.2 原圖與碎片位置的對(duì)應(yīng)關(guān)系 73
4.3.3 拖動(dòng)碎片 74
4.3.4 碎片放置位置正確性的判斷 75
4.3.5 游戲流程圖 76
4.4 游戲?qū)崿F(xiàn) 76
4.4.1 新建工程與導(dǎo)入資源 76
4.4.2 批量讀取碎片 78
4.4.3 生成碎片對(duì)象 79
4.4.4 初始化碎片位置 79
4.4.5 計(jì)算每個(gè)碎片的目標(biāo)位置 80
4.4.6 拖動(dòng)鼠標(biāo) 81
4.4.7 判斷游戲是否勝利 86
4.5 本章小結(jié) 87
4.6 練習(xí)題 87
第5章 推箱子 88
5.1 游戲簡(jiǎn)介 88
5.2 游戲規(guī)則 88
5.3 游戲開(kāi)發(fā)核心思路 89
5.3.1 地圖的生成 89
5.3.2 角色位置及移動(dòng)方向與數(shù)組的對(duì)應(yīng)關(guān)系 89
5.3.3 分析角色可移動(dòng)和不可移動(dòng)情況 90
5.3.4 角色移動(dòng)的代碼邏輯 90
5.3.5 游戲勝利的判定 92
5.3.6 游戲流程圖 92
5.4 游戲?qū)崿F(xiàn) 92
5.4.1 資源的導(dǎo)入與切割 92
5.4.2 角色動(dòng)畫(huà)的制作 94
5.4.3 地圖生成的程序?qū)崿F(xiàn)與代碼重構(gòu) 95
5.4.4 角色移動(dòng)方向位置上的Tile類(lèi)型檢測(cè)與實(shí)現(xiàn) 97
5.4.5 角色可移動(dòng)情況的代碼框架實(shí)現(xiàn) 99
5.4.6 角色在場(chǎng)景中的移動(dòng)功能 101
5.4.7 打印地圖快照信息 102
5.4.8 角色移動(dòng)與地圖快照信息的實(shí)時(shí)更新 104
5.4.9 推動(dòng)箱子的功能實(shí)現(xiàn) 104
5.4.10 移動(dòng)代碼的重構(gòu)優(yōu)化 109
5.4.11 游戲勝利條件判斷 112
5.5 本章小結(jié) 114
5.6 練習(xí)題 114
第6章 俄羅斯方塊 115
6.1 游戲簡(jiǎn)介 115
6.2 游戲規(guī)則 115
6.3 游戲開(kāi)發(fā)核心思路 116
6.3.1 初始化地圖 116
6.3.2 方塊類(lèi)(Block)的編寫(xiě) 117
6.3.3 初始化方塊——方塊在地圖中的隨機(jī)生成 117
6.3.4 移動(dòng)和旋轉(zhuǎn)方塊——修改位置坐標(biāo) 117
6.3.5 移動(dòng)和旋轉(zhuǎn)方塊——邊界判斷 117
6.3.6 移動(dòng)方塊——向下移動(dòng) 118
6.3.7 消除滿(mǎn)行方塊 118
6.3.8 游戲結(jié)束判斷 118
6.3.9 附加功能——提示下一個(gè)方塊 118
6.3.10 游戲流程圖 118
6.4 游戲?qū)崿F(xiàn) 119
6.4.1 資源的導(dǎo)入 119
6.4.2 地圖的初始化與顯示 121
6.4.3 地圖快照信息的顯示 122
6.4.4 方塊的初始化 124
6.4.5 方塊的隨機(jī)生成 128
6.4.6 方塊的移動(dòng)和旋轉(zhuǎn) 130
6.4.7 方塊的移動(dòng)、旋轉(zhuǎn)與地圖的刷新 134
6.4.8 邊界的判斷 138
6.4.9 滿(mǎn)行的消除 141
6.4.10 游戲結(jié)束的判斷 142
6.4.11 附加功能——控制方塊 自動(dòng)下落的速度 144
6.4.12 附加功能——顯示下 一個(gè)方塊的類(lèi)型 145
6.4.13 附加功能——優(yōu)化重復(fù) 代碼 147
6.5 本章小結(jié) 149
6.6 練習(xí)題 149
第7章 華容道 150
7.1 游戲簡(jiǎn)介 150
7.2 游戲規(guī)則 150
7.3 游戲開(kāi)發(fā)核心思路 151
7.3.1 棋子類(lèi)(Chess)的編寫(xiě) 151
7.3.2 棋盤(pán)盤(pán)面布局的生成 151
7.3.3 移動(dòng)棋子的實(shí)現(xiàn) 151
7.3.4 游戲勝利的判斷 156
7.3.5 游戲流程圖 156
7.4 游戲?qū)崿F(xiàn) 157
7.4.1 資源的導(dǎo)入 157
7.4.2 棋子類(lèi)的編寫(xiě) 158
7.4.3 棋盤(pán)布局的生成 159
7.4.4 移動(dòng)棋子——選擇棋子 163
7.4.5 移動(dòng)棋子——移動(dòng)1×1棋子 169
7.4.6 移動(dòng)棋子——移動(dòng)1×2棋子 173
7.4.7 移動(dòng)棋子——移動(dòng)2×1棋子 177
7.4.8 移動(dòng)棋子——移動(dòng)2×2棋子 181
7.4.9 游戲勝利的判斷 184
7.5 本章小結(jié) 188
7.6 練習(xí)題 188
第8章 連連看 189
8.1 游戲簡(jiǎn)介 189
8.2 游戲規(guī)則 189
8.3 游戲開(kāi)發(fā)核心思路 190
8.3.1 編寫(xiě)Tile類(lèi) 190
8.3.2 初始化地圖 190
8.3.3 消除操作 191
8.3.4 繪制連接線(xiàn) 193
8.4 游戲?qū)崿F(xiàn) 194
8.4.1 導(dǎo)入資源 194
8.4.2 編寫(xiě)Tile類(lèi) 196
8.4.3 初始化地圖 197
8.4.4 選擇Tile對(duì)象 202
8.4.5 連接判斷——直連、二連、三連 205
8.4.6 連接線(xiàn)的繪制 209
8.5 本章小結(jié) 214
8.6 練習(xí)題 214
第9章 三消 215
9.1 游戲簡(jiǎn)介 215
9.2 游戲規(guī)則 215
9.3 游戲開(kāi)發(fā)核心思路 216
9.3.1 編寫(xiě)Gemstone類(lèi) 216
9.3.2 初始化游戲場(chǎng)景和地圖 216
9.3.3 消除檢測(cè) 217
9.3.4 消除寶石 218
9.3.5 重新洗牌 219
9.3.6 游戲流程圖 219
9.4 游戲?qū)崿F(xiàn) 220
9.4.1 導(dǎo)入資源與設(shè)置場(chǎng)景 220
9.4.2 編寫(xiě)Gemstone類(lèi) 221
9.4.3 初始化地圖數(shù)據(jù)結(jié)構(gòu)和場(chǎng)景 223
9.4.4 選擇寶石 225
9.4.5 消除寶石 228
9.4.6 重新洗牌操作 233
9.5 本章小結(jié) 235
9.6 練習(xí)題 235
第10章 掃雷 236
10.1 游戲簡(jiǎn)介 236
10.2 游戲規(guī)則 236
10.2.1 《掃雷》游戲的布局 236
10.2.2 《掃雷》游戲的基本 操作 237
10.3 游戲開(kāi)發(fā)核心思路 237
10.3.1 初始化游戲地圖 237
10.3.2 編寫(xiě)Tile類(lèi) 237
10.3.3 隨機(jī)生成地雷 238
10.3.4 編寫(xiě)輔助函數(shù),顯示 地圖信息 238
10.3.5 Tile的交互 238
10.3.6 方格的單擊(左鍵、 遍歷翻開(kāi)、右鍵) 239
10.3.7 游戲結(jié)束判斷 239
10.3.8 UI控制 239
10.3.9 游戲流程圖 240
10.4 游戲?qū)崿F(xiàn) 240
10.4.1 資源導(dǎo)入與場(chǎng)景設(shè)置 240
10.4.2 初始化場(chǎng)景 241
10.4.3 左、右鍵操作 248
10.4.4 游戲結(jié)束判斷 252
10.4.5 UI控制 256
10.4.6 重新開(kāi)始一局游戲 269
10.5 本章小結(jié) 270
10.6 練習(xí)題 270
第11章 貪吃蛇 271
11.1 游戲簡(jiǎn)介 271
11.2 游戲規(guī)則 271
11.3 游戲開(kāi)發(fā)核心思路 271
11.3.1 地圖的生成 271
11.3.2 食物的出現(xiàn) 272
11.3.3 蛇的數(shù)據(jù)結(jié)構(gòu) 272
11.3.4 貪吃蛇的移動(dòng)算法 272
11.3.5 判斷蛇頭是否撞到了 自身 272
11.3.6 邊界的判斷 273
11.3.7 游戲流程圖 273
11.4 游戲?qū)崿F(xiàn) 273
11.4.1 資源導(dǎo)入和場(chǎng)景設(shè)置 273
11.4.2 編寫(xiě)Node類(lèi) 275
11.4.3 初始化場(chǎng)景 276
11.4.4 貪吃蛇的移動(dòng) 280
11.4.5 結(jié)束判定 285
11.5 本章小結(jié) 286
11.6 練習(xí)題 286
第12章 五子棋 287
12.1 游戲簡(jiǎn)介 287
12.2 游戲規(guī)則 287
12.2.1 《五子棋》游戲的 棋盤(pán)和棋子 287
12.2.2 《五子棋》游戲的 基本規(guī)則 288
12.2.3 落子順序 288
12.3 游戲開(kāi)發(fā)核心思路 288
12.3.1 繪制棋盤(pán) 288
12.3.2 繪制棋子 289
12.3.3 落子 289
12.3.4 獲勝規(guī)則 289
12.3.5 判斷黑方禁手功能 290
12.3.6 游戲流程圖 290
12.4 游戲?qū)崿F(xiàn) 291
12.4.1 前期準(zhǔn)備 291
12.4.2 初始化棋盤(pán)地圖 292
12.4.3 編寫(xiě)落子框架 294
12.4.4 落子 296
12.4.5 連子判斷和勝負(fù)判斷 297
12.5 本章小結(jié) 302
12.6 練習(xí)題 302
第13章 跳棋 303
13.1 游戲簡(jiǎn)介 303
13.2 游戲規(guī)則 303
13.3 游戲開(kāi)發(fā)核心思路 304
13.3.1 棋盤(pán)排列 304
13.3.2 生成棋子 305
13.3.3 棋子在Unity中笛卡兒
坐標(biāo)系下的位置映射 305
13.3.4 計(jì)算可移動(dòng)位置 306
13.3.5 回合限制 307
13.3.6 游戲勝負(fù)判斷 307
13.3.7 游戲流程圖 307
13.4 游戲?qū)崿F(xiàn) 308
13.4.1 前期準(zhǔn)備 308
13.4.2 創(chuàng)建棋格 310
13.4.3 創(chuàng)建棋子 312
13.4.4 選擇棋子 314
13.4.5 判斷鄰近可走棋格 316
13.4.6 單步移動(dòng)棋子 319
13.4.7 跳子 320
13.4.8 回合限制 322
13.4.9 勝負(fù)判斷 324
13.5 本章小結(jié) 327
13.6 練習(xí)題 327