Unity 2017經(jīng)典游戲開(kāi)發(fā)教程 算法分析與實(shí)現(xiàn)
定 價(jià):128 元
- 作者:張帆
- 出版時(shí)間:2018/10/1
- ISBN:9787115486820
- 出 版 社:人民郵電出版社
- 中圖法分類:TP317.6
- 頁(yè)碼:
- 紙張:膠版紙
- 版次:
- 開(kāi)本:16開(kāi)
在游戲開(kāi)發(fā)學(xué)習(xí)中,借鑒經(jīng)典游戲的開(kāi)發(fā)思路和算法是快速提升開(kāi)發(fā)與設(shè)計(jì)水平的有效捷徑,這種學(xué)習(xí)的路徑也是明智而高效的。本書精選了18個(gè)廣受歡迎的經(jīng)典游戲案例進(jìn)行講解剖析,包含打地鼠、俄羅斯方塊、打磚塊、三消、翻牌子、連連看、拼圖、推箱子、炸彈人、華容道、橫板跑酷、掃雷、貪吃蛇、五子棋、跳棋、吃豆人、斗地主、坦克大戰(zhàn)等游戲。本書游戲的實(shí)現(xiàn)采用了Unity 2017版軟件,該軟件是目前世界范圍內(nèi)使用*廣泛的游戲開(kāi)發(fā)與虛擬現(xiàn)實(shí)開(kāi)發(fā)平臺(tái)之一,界面友好,功能強(qiáng)大,有適合不同學(xué)習(xí)階段和不同開(kāi)發(fā)需求的對(duì)應(yīng)版本。
本書不僅詳細(xì)介紹了Unity的軟件操作基礎(chǔ)與游戲開(kāi)發(fā)操作流程,而且對(duì)每個(gè)游戲案例的開(kāi)發(fā)思路、算法分析、程序?qū)崿F(xiàn)等都有詳盡的講解,非常適合對(duì)游戲開(kāi)發(fā)、虛擬現(xiàn)實(shí)開(kāi)發(fā)設(shè)計(jì)感興趣的初中級(jí)讀者,也適合游戲相關(guān)專業(yè)作為教材使用。
Unity目前是全世界優(yōu)秀的游戲渲染引擎平臺(tái),其中程序開(kāi)發(fā)也有自己的一套規(guī)則和技巧。本書基于此,使用Unity C#編程模塊,實(shí)現(xiàn)18款經(jīng)典小游戲的算法。不論是游戲開(kāi)發(fā)愛(ài)好者,還是專業(yè)人士,都能從本書學(xué)習(xí)到:(1)Unity程序腳本入口及與場(chǎng)景模塊相關(guān)聯(lián)的編程操作流程與算法分析。(2)C#的程序編寫技巧。(3)學(xué)習(xí)整個(gè)游戲開(kāi)發(fā)的綜合流程與策劃思路,以便將來(lái)更好的融入相關(guān)團(tuán)隊(duì)。
張帆,具有多年游戲開(kāi)發(fā)和教學(xué)經(jīng)驗(yàn),浙江傳媒學(xué)院優(yōu)秀教師,研究方向包括:數(shù)字娛樂(lè)與交互設(shè)計(jì)、游戲設(shè)計(jì),已出版教材:《Unity5.X游戲開(kāi)發(fā)基礎(chǔ)》、《 游戲策劃與設(shè)計(jì)》等。
第1章 熟悉Unity軟件的操作………………1
1.1 可多平臺(tái)發(fā)布的Unity游戲引擎 ……………………1
1.2 Unity游戲引擎的下載和安裝 1
1.2.1 Unity的下載 ……………………2
1.2.2 Unity的安裝 ……………………3
1.2.3 Unity的注冊(cè) ……………………4
1.2.4 啟動(dòng)Unity ………………………4
1.3 認(rèn)識(shí)Unity的編輯界面 ……5
1.3.1 軟件標(biāo)題欄 ……………………5
1.3.2 主菜單 …………………………6
1.3.3 Project項(xiàng)目資源窗口 …………16
1.3.4 Hierarchy層級(jí)窗口 ……………24
1.3.5 Scene場(chǎng)景窗口 …………………25
1.3.6 Inspector組件屬性面板 ………37
1.3.7 Game游戲預(yù)覽窗口 ……………42
1.3.8 Console控制臺(tái) …………………43
1.4 自定義窗口布局 ……………44
1.4.1 使用Unity內(nèi)置的窗口布局功能 44
1.4.2 自定義窗口布局 ………………46
1.5 Unity中定義的重要概念 ……47
1.5.1 資源(Assets) …………………47
1.5.2 工程(Project) ………………48
1.5.3 場(chǎng)景(Scenes) ………………48
1.5.4 游戲?qū)ο螅℅ameObject) ……48
1.5.5 組件(Component) …………48
1.5.6 腳本(Scripts) ………………49
1.5.7 預(yù)置(Prefabs) ………………49
第2章 打地鼠……………50
2.1 游戲簡(jiǎn)介 ……………………50
2.2 游戲規(guī)則 ……………………50
2.3 程序思路 ……………………50
2.3.1 洞口的排列 ……………………50
2.3.2 地鼠出現(xiàn)頻率 …………………51
2.3.3 單個(gè)地鼠設(shè)置 …………………51
2.3.4 游戲時(shí)間和分?jǐn)?shù) ………………51
2.3.5 游戲流程圖 ……………………52
2.4 程序?qū)崿F(xiàn) ……………………52
2.4.1 前期準(zhǔn)備 ………………………52
2.4.2 設(shè)置洞口 ………………………53
2.4.3 單只地鼠的出現(xiàn)與消失 ………56
2.4.4 地鼠的隨機(jī)出現(xiàn)和出現(xiàn)頻率 …59
2.4.5 時(shí)間、分?jǐn)?shù)和其他 ……………64
第3章 俄羅斯方塊………70
3.1 游戲簡(jiǎn)介 ……………………70
3.2 游戲規(guī)則 ……………………70
3.3 游戲?qū)崿F(xiàn)思路 ………………72
3.3.1 隨機(jī)生成方塊 …………………72
3.3.2 地圖的生成 ……………………72
3.3.3 判斷方塊是否都在邊界內(nèi) ……72
3.3.4 判斷是否碰到其他方塊 ………73
3.3.5 檢查是否滿行 …………………73
3.3.6 刪除填滿的行 …………………73
3.3.7 提示下一個(gè)方塊組 ……………73
3.3.8 結(jié)束判定 ………………………74
3.3.9 游戲流程圖 ……………………74
3.4 游戲程序?qū)崿F(xiàn) ………………75
3.4.1 前期準(zhǔn)備 ………………………75
3.4.2 制作場(chǎng)景 ………………………76
3.4.3 生成方塊組與方塊組下落 ……79
3.4.4 邊界判斷 ………………………83
3.4.5 刪除一行方塊 ………………… 92
3.4.6 結(jié)束判定 ……………………… 97
3.4.7 細(xì)節(jié)完善 ……………………… 98
第4 章 打磚塊…………… 102
4.1 游戲簡(jiǎn)介 …………………… 102
4.2 游戲規(guī)則 …………………… 102
4.3 程序思路 …………………… 103
4.3.1 地圖生成 ……………………… 103
4.3.2 磚塊控制 ……………………… 103
4.3.3 小球控制 ……………………… 103
4.3.4 游戲流程圖 …………………… 104
4.4 程序?qū)崿F(xiàn) …………………… 105
4.4.1 前期準(zhǔn)備 ……………………… 105
4.4.2 游戲場(chǎng)景設(shè)定 ………………… 106
4.4.3 橫板控制 ……………………… 107
4.4.4 小球控制 ……………………… 109
4.4.5 磚塊的生成及控制 …………… 112
4.4.6 道具的控制 …………………… 117
第5 章 三消 …………… 123
5.1 游戲簡(jiǎn)介 …………………… 123
5.2 游戲規(guī)則 …………………… 123
5.3 程序思路 …………………… 124
5.3.1 地圖生成 ……………………… 124
5.3.2 消除檢測(cè) ……………………… 124
5.3.3 消除算法 ……………………… 125
5.3.4 寶石掉落 ……………………… 126
5.3.5 游戲流程圖 …………………… 127
5.4 程序?qū)崿F(xiàn) …………………… 128
5.4.1 前期準(zhǔn)備 ……………………… 128
5.4.2 游戲場(chǎng)景設(shè)定 ………………… 130
5.4.3 地圖生成 ……………………… 131
5.4.4 點(diǎn)選響應(yīng)及寶石交換 ………… 135
5.4.5 寶石的消除判定及寶石的消除 140
第6 章 翻牌子…………… 149
6.1 游戲簡(jiǎn)介 …………………… 149
6.2 游戲規(guī)則 …………………… 149
6.3 程序思路 …………………… 149
6.3.1 搭建卡片池 …………………… 149
6.3.2 卡片狀態(tài) ……………………… 150
6.3.3 游戲計(jì)分 ……………………… 151
6.3.4 游戲流程圖 …………………… 151
6.4 程序?qū)崿F(xiàn) …………………… 151
6.4.1 前期準(zhǔn)備 ……………………… 151
6.4.2 游戲場(chǎng)景設(shè)定 ………………… 152
6.4.3 卡片池的生成 ………………… 154
6.4.4 卡片圖案的隨機(jī)生成 ………… 156
6.4.5 卡片的配對(duì) …………………… 163
6.4.6 步數(shù)、分?jǐn)?shù)和重新開(kāi)始 ……… 166
第7 章 連連看…………… 173
7.1 游戲簡(jiǎn)介 …………………… 173
7.2 游戲規(guī)則 …………………… 173
7.3 程序思路 …………………… 174
7.3.1 地圖生成 ……………………… 174
7.3.2 消除檢測(cè) ……………………… 175
7.3.3 畫線 …………………………… 176
7.3.4 游戲流程圖 …………………… 177
7.4 程序?qū)崿F(xiàn) …………………… 177
7.4.1 前期準(zhǔn)備 ……………………… 177
7.4.2 制作游戲場(chǎng)景 ………………… 178
7.4.3 地圖創(chuàng)建 ……………………… 179
7.4.4 點(diǎn)選判定 ……………………… 183
7.4.5 消除判定 ……………………… 185
7.4.6 畫線 …………………………… 194
7.4.7 道具實(shí)現(xiàn) ……………………… 199
第8 章 拼圖……………… 203
8.1 游戲簡(jiǎn)介 …………………… 203
8.2 游戲規(guī)則 …………………… 203
8.3 游戲思路 …………………… 203
8.3.1 原圖與碎片的對(duì)應(yīng)關(guān)系 ……… 203
8.3.2 鼠標(biāo)拖曳移動(dòng)碎片 …………… 204
8.3.3 正確判斷 ……………………… 205
8.3.4 獲勝判斷 ……………………… 205
8.3.5 游戲流程圖 …………………… 205
8.4 游戲?qū)崿F(xiàn) …………………… 206
8.4.1 前期準(zhǔn)備 ……………………… 206
8.4.2 制作游戲場(chǎng)景 ………………… 208
8.4.3 碎片生成 ……………………… 210
8.4.4 鼠標(biāo)事件 ……………………… 211
8.4.5 游戲結(jié)束判斷 ………………… 215
第9 章 推箱子…………… 217
9.1 游戲簡(jiǎn)介 …………………… 217
9.2 游戲規(guī)則 …………………… 217
9.3 程序思路 …………………… 217
9.3.1 地圖生成 ……………………… 217
9.3.2 角色移動(dòng) ……………………… 218
9.3.3 箱子移動(dòng) ……………………… 219
9.3.4 角色及箱子移動(dòng)邏輯 ………… 220
9.3.5 游戲獲勝判定 ………………… 221
9.3.6 游戲流程圖 …………………… 221
9.4 程序?qū)崿F(xiàn) …………………… 222
9.4.1 前期準(zhǔn)備 ……………………… 222
9.4.2 制作游戲場(chǎng)景 ………………… 223
9.4.3 地圖生成 ……………………… 224
9.4.4 角色的移動(dòng) …………………… 228
9.4.5 箱子的移動(dòng) …………………… 235
9.4.6 游戲勝利判定 ………………… 239
9.4.7 動(dòng)畫的加入 …………………… 241
第10 章 炸彈人 ………… 245
10.1 游戲簡(jiǎn)介 …………………… 245
10.2 游戲規(guī)則 …………………… 245
10.3 程序思路 …………………… 246
10.3.1 地圖生成 ……………………… 246
10.3.2 炸彈管理 ……………………… 247
10.3.3 怪物管理 ……………………… 247
10.3.4 游戲管理 ……………………… 248
10.3.5 游戲流程圖 …………………… 248
10.4 程序?qū)崿F(xiàn) …………………… 249
10.4.1 前期準(zhǔn)備 ……………………… 249
10.4.2 地圖制作 ……………………… 249
10.4.3 開(kāi)始制作 ……………………… 250
10.4.4 玩家操控 ……………………… 258
10.4.5 墻體摧毀 ……………………… 263
10.4.6 怪物制作 ……………………… 265
第11 章 華容道 ………… 270
11.1 游戲簡(jiǎn)介 …………………… 270
11.2 游戲規(guī)則 …………………… 270
11.3 游戲程序?qū)崿F(xiàn)思路 ………… 271
11.3.1 棋子 …………………………… 271
11.3.2 棋盤 …………………………… 271
11.3.3 移動(dòng)棋子 ……………………… 272
11.3.4 結(jié)束判定 ……………………… 277
11.3.5 游戲流程圖 …………………… 277
11.4 游戲?qū)崿F(xiàn) …………………… 278
11.4.1 前期準(zhǔn)備 ……………………… 278
11.4.2 制作游戲場(chǎng)景 ………………… 279
11.4.3 生成棋子 ……………………… 281
11.4.4 棋子移動(dòng) ……………………… 284
11.4.5 游戲結(jié)束判定 ………………… 309
第12 章 橫版跑酷 ……… 312
12.1 游戲簡(jiǎn)介 …………………… 312
12.2 游戲規(guī)則 …………………… 313
12.3 程序思路 …………………… 313
12.3.1 地圖 …………………………… 313
12.3.2 金幣和道具 …………………… 313
12.3.3 障礙物 ………………………… 314
12.3.4 玩家 …………………………… 314
12.3.5 金幣分?jǐn)?shù)和已經(jīng)前進(jìn)距離的
顯示 …………………………… 314
12.3.6 游戲流程圖 …………………… 314
12.4 工程實(shí)現(xiàn) …………………… 315
12.4.1 前期準(zhǔn)備 ……………………… 315
12.4.2 制作游戲場(chǎng)景 ………………… 317
12.4.3 玩家控制 ……………………… 319
12.4.4 路段上金幣、道具和障礙物的
生成 …………………………… 328
12.4.5 顯示前進(jìn)距離和金幣 ………… 332
第13 章 掃雷 …………… 335
13.1 游戲簡(jiǎn)介 …………………… 335
13.2 游戲規(guī)則 …………………… 335
13.2.1 掃雷的布局 …………………… 335
13.2.2 掃雷的基本操作 ……………… 336
13.2.3 游戲結(jié)束 ……………………… 337
13.3 程序思路 …………………… 337
13.3.1 雷區(qū)繪制 ……………………… 337
13.3.2 左鍵單擊 ……………………… 337
13.3.3 右鍵單擊 ……………………… 338
13.3.4 左右鍵雙擊 …………………… 338
13.3.5 游戲結(jié)束 ……………………… 339
13.3.6 游戲流程圖 …………………… 339
13.4 程序?qū)崿F(xiàn) …………………… 340
13.4.1 前期準(zhǔn)備 ……………………… 340
13.4.2 制作游戲場(chǎng)景 ………………… 340
13.4.3 雷區(qū)的生成 …………………… 341
13.4.4 地雷隨機(jī)分布 ………………… 344
13.4.5 方塊關(guān)聯(lián) ……………………… 352
13.4.6 鼠標(biāo)點(diǎn)擊 ……………………… 356
13.4.7 游戲失敗 ……………………… 360
13.4.8 剩余地雷數(shù)、時(shí)間和笑臉管理 … 362
第14 章 貪吃蛇 ………… 370
14.1 游戲簡(jiǎn)介 …………………… 370
14.2 游戲規(guī)則 …………………… 371
14.3 程序思路 …………………… 371
14.3.1 地圖的生成 …………………… 371
14.3.2 食物出現(xiàn) ……………………… 371
14.3.3 蛇的數(shù)據(jù)結(jié)構(gòu) ………………… 371
14.3.4 貪吃蛇移動(dòng)算法 ……………… 371
14.3.5 蛇的增長(zhǎng) ……………………… 372
14.3.6 判斷蛇頭是否撞到了自身 …… 372
14.3.7 邊界判斷 ……………………… 372
14.3.8 游戲流程圖 …………………… 372
14.4 游戲程序?qū)崿F(xiàn) ……………… 373
14.4.1 前期準(zhǔn)備 ……………………… 373
14.4.2 制作場(chǎng)景 ……………………… 374
14.4.3 生成食物 ……………………… 376
14.4.4 蛇的移動(dòng) ……………………… 378
14.4.5 蛇的長(zhǎng)大及移動(dòng) ……………… 382
14.4.6 累計(jì)分?jǐn)?shù) ……………………… 384
14.4.7 結(jié)束判定 ……………………… 386
第15 章 五子棋 ………… 388
15.1 游戲簡(jiǎn)介 …………………… 388
15.2 游戲規(guī)則 …………………… 388
15.2.1 五子棋棋盤和棋子 …………… 388
15.2.2 五子棋基本規(guī)則 ……………… 389
15.2.3 落子順序 ……………………… 389
15.2.4 禁手 …………………………… 389
15.3 游戲算法思路 ……………… 390
15.3.1 棋盤的繪制 …………………… 390
15.3.2 盤面棋子繪制 ………………… 391
15.3.3 落子 …………………………… 391
15.3.4 獲勝規(guī)則判定 ………………… 392
15.3.5 判定黑方禁手功能 …………… 392
15.3.6 游戲流程圖 …………………… 393
15.4 游戲程序?qū)崿F(xiàn) ……………… 393
15.4.1 前期準(zhǔn)備 ……………………… 393
15.4.2 創(chuàng)建場(chǎng)景 ……………………… 395
15.4.3 落子 …………………………… 398
15.4.4 切換落子權(quán)限 ………………… 404
15.4.5 更新棋盤狀態(tài) ………………… 406
15.4.6 獲勝判斷 ……………………… 407
15.4.7 禁手規(guī)則 ……………………… 419
15.4.8 重新開(kāi)始 ……………………… 430
第16 章 跳棋 …………… 434
16.1 游戲簡(jiǎn)介 …………………… 434
16.2 游戲規(guī)則 …………………… 434
16.3 程序思路 …………………… 434
16.3.1 棋盤排列 ……………………… 434
16.3.2 棋子生成 ……………………… 436
16.3.3 棋子的位置和移動(dòng) …………… 436
16.3.4 計(jì)算可移動(dòng)位置 ……………… 437
16.3.5 回合限制 ……………………… 438
16.3.6 游戲勝負(fù)判斷 ………………… 438
16.3.7 游戲流程圖 …………………… 438
16.4 程序?qū)崿F(xiàn) …………………… 439
16.4.1 前期準(zhǔn)備 ……………………… 439
16.4.2 創(chuàng)建棋盤 ……………………… 439
16.4.3 創(chuàng)建棋子 ……………………… 444
16.4.4 移動(dòng)棋子 ……………………… 446
16.4.5 限制可移動(dòng)位置 ……………… 448
16.4.6 回合限制 ……………………… 456
16.4.7 勝利判斷 ……………………… 459
第17 章 吃豆人 ………… 462
17.1 游戲簡(jiǎn)介 …………………… 462
17.2 游戲規(guī)則 …………………… 462
17.3 程序思路 …………………… 463
17.3.1 地圖生成 ……………………… 463
17.3.2 幽靈狀態(tài) ……………………… 463
17.3.3 小精靈管理 …………………… 465
17.3.4 游戲流程圖 …………………… 465
17.4 程序?qū)崿F(xiàn) …………………… 467
17.4.1 前期準(zhǔn)備 ……………………… 467
17.4.2 制作游戲場(chǎng)景 ………………… 467
17.4.3 吃豆人的移動(dòng) ………………… 468
17.4.4 豆子的消失 …………………… 473
17.4.5 幽靈運(yùn)動(dòng) ……………………… 474
第18 章 斗地主 ………… 487
18.1 游戲簡(jiǎn)介 …………………… 487
18.2 游戲規(guī)則 …………………… 487
18.3 程序思路 …………………… 488
18.3.1 撲克牌 ………………………… 488
18.3.2 洗牌 …………………………… 488
18.3.3 發(fā)牌 …………………………… 489
18.3.4 出牌 …………………………… 489
18.3.5 牌型 …………………………… 491
18.3.6 大小 …………………………… 491
18.3.7 玩家 …………………………… 491
18.3.8 勝利 …………………………… 492
18.3.9 游戲流程圖 …………………… 492
18.4 工程實(shí)現(xiàn) …………………… 492
18.4.1 前期準(zhǔn)備 ……………………… 492
18.4.2 制作游戲場(chǎng)景 ………………… 494
18.4.3 定義一張牌 …………………… 496
18.4.4 洗牌 …………………………… 503
18.4.5 發(fā)牌 …………………………… 504
18.4.6 勝利判定 ……………………… 513
18.4.7 叫地主 ………………………… 514
18.4.8 出牌 …………………………… 525
18.4.9 判斷牌型 ……………………… 527
18.4.10 比大小 ………………………… 534
18.4.11 勝利 …………………………… 541
第19 章 坦克大戰(zhàn) ……… 542
19.1 游戲簡(jiǎn)介 …………………… 542
19.2 游戲規(guī)則 …………………… 542
19.3 程序思路 …………………… 542
19.3.1 地圖生成 ……………………… 542
19.3.2 敵人 …………………………… 543
19.3.3 玩家 …………………………… 544
19.3.4 障礙物 ………………………… 544
19.3.5 道具 …………………………… 545
19.3.6 基地 …………………………… 545
19.3.7 游戲流程圖 …………………… 545
19.4 工程實(shí)現(xiàn) …………………… 546
19.4.1 前期準(zhǔn)備 ……………………… 546
19.4.2 制作游戲場(chǎng)景 ………………… 548
19.4.3 玩家控制 ……………………… 551
19.4.4 子彈 …………………………… 558
19.4.5 地圖上各類障礙物及基地 …… 560
19.4.6 敵人 …………………………… 566
19.4.7 敵人生成器 …………………… 576
19.4.8 道具 …………………………… 579