- Unity游戲案例開發(fā)大全
- 吳亞峰 杜化美 于復(fù)興編著
- 84字
- 2019-01-02 05:50:18
3.3 游戲的架構(gòu)
上一小節(jié)實(shí)現(xiàn)了游戲的策劃和前期準(zhǔn)備工作,本節(jié)將對(duì)該游戲的架構(gòu)進(jìn)行簡(jiǎn)單地介紹,讀者可以通過(guò)本節(jié)進(jìn)一步了解游戲的開發(fā)思路,使讀者對(duì)本游戲的開發(fā)有更深層次的認(rèn)識(shí)。
3.3.1 游戲各個(gè)場(chǎng)景的簡(jiǎn)要介紹
在Unity中,場(chǎng)景的開發(fā)是游戲開發(fā)的主要工作。每個(gè)場(chǎng)景包含了多個(gè)游戲組成對(duì)象,其中某些對(duì)象還被附加了特定功能的腳本。本游戲包含兩個(gè)場(chǎng)景。
1.菜單界面
菜單界面是游戲最基本的架構(gòu),也是各個(gè)場(chǎng)景相互轉(zhuǎn)換的中心管理界面。下面,將該游戲的幾大重要菜單場(chǎng)景進(jìn)行逐一介紹。
主菜單場(chǎng)景
主菜單界面“MainMenus”是轉(zhuǎn)向各個(gè)場(chǎng)景的中心場(chǎng)景,在該界面中可以通過(guò)單擊按鈕進(jìn)入其他界面,如游戲種類選擇界面、聲音控制界面、幫助界面、關(guān)于界面以及游戲關(guān)卡選擇界面。
該場(chǎng)景中的主攝像機(jī)“Main Camera”游戲?qū)ο蟊粧燧d了不同的腳本組件,包括“MainLayer”腳本組件、“ConstOfMenu”腳本組件以及“StartMusic”腳本組件。它們分別負(fù)責(zé)不同的工作,已達(dá)到最終呈現(xiàn)的完好效果。
在該場(chǎng)景中有小球“Ball”游戲?qū)ο竽鞠洹癇ox”游戲?qū)ο蟆ⅰ癙ointlight”點(diǎn)光源,以及“Wall”游戲?qū)ο蟆F渲校癇all”游戲?qū)ο蟊粧燧d了“BallWalk”腳本組件,負(fù)責(zé)小球根據(jù)重力進(jìn)行移動(dòng)。
音樂設(shè)置場(chǎng)景音樂設(shè)置界面“SetMusic”主要負(fù)責(zé)對(duì)游戲的背景音樂以及音效的開關(guān)控制。其中,主攝像機(jī)“Main Camera”游戲?qū)ο蟊粧燧d了“MusicLayer”腳本組件,負(fù)責(zé)界面的繪制和聲音開關(guān)的控制。
幫助場(chǎng)景
幫助界面“HelpGames”主要負(fù)責(zé)介紹該游戲的玩法。其中,主攝像機(jī)“Main Camera”游戲?qū)ο蟊粧燧d了“HelpLayer”腳本組件,負(fù)責(zé)界面的繪制。
在該場(chǎng)景中有兩個(gè)“Plane”游戲?qū)ο螅饕?fù)責(zé)承載幫助界面圖。還有一個(gè)平行光源“Directionallight”游戲?qū)ο螅?fù)責(zé)光源問題。
關(guān)于場(chǎng)景
關(guān)于界面“AboutGames”主要負(fù)責(zé)繪制與本游戲相關(guān)的版權(quán)信息等。其中,主攝像機(jī)“Main Camera”游戲?qū)ο蟊粧燧d了“AboutLayer”腳本組件,負(fù)責(zé)界面的繪制。
選擇關(guān)卡場(chǎng)景
選擇關(guān)卡界面“GamesMenu”主要負(fù)責(zé)繪制選擇游戲關(guān)卡界面。其中,主攝像機(jī)“Main Camera”游戲?qū)ο蟊粧燧d了“ChoiceLayer”腳本組件,負(fù)責(zé)繪制界面,其中包括背景圖以及四個(gè)關(guān)卡的按鈕。
2.游戲界面
游戲界面是本游戲最為重要的界面,也是本游戲的開發(fā)重點(diǎn)。本游戲的游戲界面分為四個(gè)關(guān)卡。每個(gè)關(guān)卡有自己的獨(dú)有特色,供玩家選擇。每一個(gè)關(guān)卡迷宮的設(shè)計(jì)也都非常巧妙。下面,將該游戲的四大游戲關(guān)卡場(chǎng)景進(jìn)行逐一介紹。
關(guān)卡一場(chǎng)景
關(guān)卡一界面“GameOne”場(chǎng)景以黑白色為主題,在該場(chǎng)景中包括兩個(gè)攝像機(jī)游戲?qū)ο蟆癋irstCamera”對(duì)象和“Main Camera”對(duì)象,分別掛載了“GameLayer”腳本組件和“LookAllGameLayer”腳本組件。
在該關(guān)卡中包括了小球?qū)ο蟆癇all1”,被掛載了“BallMove”腳本組件,負(fù)責(zé)小球移動(dòng)。若干木箱“Boxs”游戲?qū)ο螅粧燧d“DragObject”腳本組件,負(fù)責(zé)木箱移動(dòng)。
“BallFallTrigger”觸發(fā)地板游戲?qū)ο螅粧燧d了“BallFallTrigger”腳本組件,負(fù)責(zé)小球墜落事件處理。“PlaneTrigger”笑臉終點(diǎn)觸發(fā)對(duì)象,被掛載了“PlaneTrigger”游戲?qū)ο螅?fù)責(zé)小球順利到達(dá)終點(diǎn)事件處理。
其中還包括平行光源“Directionallight”以及地板模型“GameOneFloor”,地板模型是通過(guò)3ds Max生成的FBX文件,然后導(dǎo)入U(xiǎn)nity使用的。
關(guān)卡二場(chǎng)景
關(guān)卡二界面“GameTwo”主要以綠地為主題。在該場(chǎng)景中包括兩個(gè)攝像機(jī)游戲?qū)ο蟆癋irstCamera”對(duì)象和“Main Camera”對(duì)象,分別掛載了“GameLayer”腳本組件和“LookAllGameLayer”腳本組件。
在該場(chǎng)景中特殊存在的3個(gè)綠樹模型“TREE”,同樣是通過(guò)3ds Max生成的FBX文件,然后導(dǎo)入U(xiǎn)nity使用的。同時(shí)有一塊木塊游戲?qū)ο蟆癇ox004”需要?jiǎng)蛩傩D(zhuǎn),作為迷宮的障礙,被掛載了“CueRotation”腳本組件,負(fù)責(zé)使木塊旋轉(zhuǎn)。
該關(guān)卡的小球?qū)ο蟆癇all2”,同樣被掛載了“BallMove”腳本組件,負(fù)責(zé)小球移動(dòng)。其他的游戲?qū)ο笠约澳_本組件與第一關(guān)類似,不再贅述。
關(guān)卡三場(chǎng)景
關(guān)卡三界面“GameThree”主要以童年為主題。在該場(chǎng)景中包括兩個(gè)攝像機(jī)游戲?qū)ο蟆癋irstCamera”對(duì)象和“Main Camera”對(duì)象,分別掛載了“GameLayer”腳本組件和“LookAllGameLayer”腳本組件。
由于以童年為主題,該場(chǎng)景特殊之處為導(dǎo)入的兩個(gè)“Pencel”鉛筆模型,以及充滿童年色彩的觸發(fā)器地盤貼圖和迷宮樣式設(shè)計(jì)。
該關(guān)卡的小球?qū)ο蟆癇all3”,同樣被掛載了“BallMove”腳本組件,負(fù)責(zé)小球移動(dòng)。其他的游戲?qū)ο笠约澳_本組件與第一關(guān)類似,不再贅述。
關(guān)卡四場(chǎng)景
關(guān)卡四界面“GameFour”主要以炫彩為主題。在該場(chǎng)景中包括兩個(gè)攝像機(jī)游戲?qū)ο蟆癋irstCamera”對(duì)象和“Main Camera”對(duì)象,分別掛載了“GameLayer”腳本組件和“LookAll GameLayer”腳本組件。
該關(guān)卡的特殊之處是一個(gè)方形迷宮和一個(gè)圓形迷宮相連,若小球在通道處掉落,也會(huì)導(dǎo)致游戲失敗。同時(shí)游戲?qū)ο蟆皉otation”作為迷宮的障礙,被掛載了“Cue2Rotaion”腳本組件,負(fù)責(zé)該機(jī)械模型的迅速轉(zhuǎn)動(dòng)。
該關(guān)卡的小球?qū)ο蟆癇all4”同樣被掛載了“BallMove”腳本組件,負(fù)責(zé)小球移動(dòng)。其他的游戲?qū)ο笠约澳_本組件與第一關(guān)類似,不再贅述。
游戲勝利場(chǎng)景
游戲勝利界面“GameWin”主要負(fù)責(zé)繪制游戲勝利界面,通過(guò)該場(chǎng)景可以重玩該關(guān)卡或者繼續(xù)下一關(guān)。其中,主攝像機(jī)“Main Camera”游戲?qū)ο蟊粧燧d了“GameWinLayer”腳本組件,負(fù)責(zé)繪制界面,和“返回”、“重玩”、“繼續(xù)”三個(gè)按鈕。
游戲失敗場(chǎng)景
游戲失敗界面“GameLose”主要負(fù)責(zé)繪制游戲失敗界面,通過(guò)該場(chǎng)景可以重玩該關(guān)卡。其中,主攝像機(jī)“Main Camera”游戲?qū)ο蟊粧燧d了“GameLoseLayer”腳本組件,負(fù)責(zé)繪制界面和“返回”、“重玩”兩個(gè)按鈕。
3.3.2 游戲框架簡(jiǎn)介
上一小節(jié)已經(jīng)對(duì)該游戲中所用到的類進(jìn)行了簡(jiǎn)單介紹,可能讀者還沒有理解游戲的架構(gòu)以及游戲的運(yùn)行過(guò)程。接下來(lái)本小節(jié)將從游戲的整體架構(gòu)上進(jìn)行介紹,使讀者對(duì)本游戲有更好的理解,其框架如圖3-19所示。

▲圖3-19 游戲框架圖
從圖3-19中可以看出,本游戲主要由十一個(gè)界面組成,接下來(lái)按照程序運(yùn)行的順序介紹各個(gè)界面的作用以及游戲的整體框架,具體步驟如下。
(1)打開本游戲,首先進(jìn)入主菜單界面“MainMenus”,主攝像機(jī)“Main Camera”被激活,其上掛載的腳本開始執(zhí)行,顯示出主菜單界面。
(2)在主菜單中單擊開始游戲樣式按鈕,進(jìn)入選擇關(guān)卡界面。選擇四個(gè)關(guān)卡中的任意一個(gè)后,進(jìn)入相應(yīng)的游戲界面。
(3)在主菜單界面中單擊“設(shè)置”按鈕可彈出設(shè)置音樂界面,可以對(duì)游戲的背景音樂和游戲音效進(jìn)行設(shè)置,在設(shè)置子界面單擊音樂開關(guān)按鈕可以開關(guān)背景音樂,單擊音效開關(guān)按鈕可以開關(guān)游戲音效。
(4)在主菜單界面中單擊“幫助”按鈕可以從主菜單界面切換到幫助界面,可以按上下翻頁(yè)按鈕查看游戲的幫助信息。按返回鍵可以返回主菜單界面。
(5)在主菜單界面中單擊“關(guān)于”按鈕可以從主菜單界面切換到關(guān)于界面,可查看本游戲的關(guān)于信息。單擊返回鍵,可以返回主菜單界面。
(6)在主菜單界面單擊退出鍵,游戲就會(huì)正常結(jié)束并退出整個(gè)程序。
- DevOps原理與實(shí)踐
- 掌握分布式跟蹤:微服務(wù)和復(fù)雜系統(tǒng)性能分析
- 業(yè)務(wù)驅(qū)動(dòng)的推薦系統(tǒng):方法與實(shí)踐
- 實(shí)戰(zhàn)Java虛擬機(jī):JVM故障診斷與性能優(yōu)化(第2版)
- Cadence系統(tǒng)級(jí)封裝設(shè)計(jì):Allegro SiP/APD設(shè)計(jì)指南
- 實(shí)用軟件工程
- AIDevOps:智能微服務(wù)開發(fā)、運(yùn)維原理與實(shí)踐
- 自己動(dòng)手構(gòu)造編譯系統(tǒng):編譯、匯編與鏈接
- 偉大的小細(xì)節(jié):互聯(lián)網(wǎng)產(chǎn)品設(shè)計(jì)中的微創(chuàng)新思維
- 從隱秩序到顯規(guī)則:工程體系基于V++規(guī)則引擎的生態(tài)演進(jìn)
- 深入淺出數(shù)據(jù)結(jié)構(gòu)與算法(微課視頻版)
- 移動(dòng)終端應(yīng)用軟件開發(fā)實(shí)戰(zhàn)
- MindSpore深度學(xué)習(xí)高階技術(shù)
- 統(tǒng)信UOS應(yīng)用開發(fā)詳解
- 自然語(yǔ)言理解與行業(yè)知識(shí)圖譜:概念、方法與工程落地