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

▲圖3-19 游戲框架圖
從圖3-19中可以看出,本游戲主要由十一個界面組成,接下來按照程序運行的順序介紹各個界面的作用以及游戲的整體框架,具體步驟如下。
(1)打開本游戲,首先進(jìn)入主菜單界面“MainMenus”,主攝像機(jī)“Main Camera”被激活,其上掛載的腳本開始執(zhí)行,顯示出主菜單界面。
(2)在主菜單中單擊開始游戲樣式按鈕,進(jìn)入選擇關(guān)卡界面。選擇四個關(guān)卡中的任意一個后,進(jìn)入相應(yīng)的游戲界面。
(3)在主菜單界面中單擊“設(shè)置”按鈕可彈出設(shè)置音樂界面,可以對游戲的背景音樂和游戲音效進(jìn)行設(shè)置,在設(shè)置子界面單擊音樂開關(guān)按鈕可以開關(guān)背景音樂,單擊音效開關(guān)按鈕可以開關(guān)游戲音效。
(4)在主菜單界面中單擊“幫助”按鈕可以從主菜單界面切換到幫助界面,可以按上下翻頁按鈕查看游戲的幫助信息。按返回鍵可以返回主菜單界面。
(5)在主菜單界面中單擊“關(guān)于”按鈕可以從主菜單界面切換到關(guān)于界面,可查看本游戲的關(guān)于信息。單擊返回鍵,可以返回主菜單界面。
(6)在主菜單界面單擊退出鍵,游戲就會正常結(jié)束并退出整個程序。
- DevSecOps企業(yè)級實踐:理念、技術(shù)與案例
- Docker源碼分析
- 計算機(jī)軟件技術(shù)基礎(chǔ)
- 手機(jī)軟件測試最佳實踐
- Unity手機(jī)游戲開發(fā):從搭建到發(fā)布上線全流程實戰(zhàn)
- Unity 2017經(jīng)典游戲開發(fā)教程:算法分析與實現(xiàn)
- 移動終端應(yīng)用軟件開發(fā)實戰(zhàn)
- 嵌入式軟件測試:方法、案例與模板詳解
- TensorFlow+Android經(jīng)典模型從理論到實戰(zhàn)(微課視頻版)
- 云原生網(wǎng)關(guān)Traefik:入門、進(jìn)階與實戰(zhàn)
- Unity 4 3D開發(fā)實戰(zhàn)詳解
- 軟件工程
- Android移動應(yīng)用開發(fā)
- 像計算機(jī)科學(xué)家一樣思考C++
- 解構(gòu)領(lǐng)域驅(qū)動設(shè)計