? 久久精品国产久精国产爱,AⅤ一区二区三区无卡无码,久久无码视频一区
聯(lián)系我們

給我們留言

聯(lián)系我們

地址:福建省晉江市青陽(yáng)街道洪山路國(guó)際工業(yè)設(shè)計(jì)園納金網(wǎng)

郵箱:info@narkii.com

電話:0595-82682267

(周一到周五, 周六周日休息)

當(dāng)前位置:主頁(yè) > 3D教程 > 圖文教程

Unity3D如何有效地組織代碼

來(lái)源: 未知 | 責(zé)任編輯:六月芳菲 | 發(fā)布時(shí)間: 2018-03-05 11:37 | 瀏覽量:
更多精彩教程:http://www.westwoodtownhomes.com/resource/

準(zhǔn)確地說(shuō),代碼作為Unity項(xiàng)目里的一種資源,此問題應(yīng)該擴(kuò)展到如何組織Unity資源。簡(jiǎn)單說(shuō)說(shuō)我們的經(jīng)驗(yàn):
- Unity有一些自身的約定,譬如項(xiàng)目里的Editor,Plugins等目錄作為編輯器,插件目錄等等。知名的插件會(huì)自己存放一個(gè)目錄,譬如NGUI等。
所以我們自己的代碼,一般目錄名會(huì)以下劃線開頭,譬如 "_Scripts", "_Prefabs"等。
對(duì)于場(chǎng)景,文檔等目錄,用兩條下劃線,以便他們能排在最頂部。
- 代碼用C#,別用JS。必要的話用namespace將自己的代碼括起來(lái)。我們是用namespace把自己積攢的公用庫(kù)包住。
- C#的注釋要認(rèn)真寫,打///就能幫你補(bǔ)全了,沒理由偷懶。
- 每個(gè)程序文件開頭要用一段注釋寫修改Log,誰(shuí)改過(guò)什么簡(jiǎn)單留一條說(shuō)明。就算用了Unity的版本管理或者Git,那些log終究會(huì)丟失,只有認(rèn)真把log寫在代碼里,才會(huì)有意識(shí)去認(rèn)真優(yōu)化它。
- Unity的腳本邏輯,就功能而言大體分為兩種,一種是比較獨(dú)立的,譬如爆炸之后1秒鐘消失,這種單獨(dú)寫個(gè)腳本綁定到目標(biāo)上即可。
更多的是腳本里與其它的腳本進(jìn)行交互。Unity里提供了一種萬(wàn)金油的方法是SendMessage, 這種方法性能略差,如果你調(diào)用的頻率不高,隨便用也無(wú)妨。另一種方法是直接通過(guò)對(duì)象的實(shí)例去調(diào)用。
我們的做法是寫幾個(gè)公用的控制器,讓它們各司其職,負(fù)責(zé)各自的事情:
- 寫一個(gè)一個(gè)GlobalManager.cs來(lái)控制游戲的全局變量及全局方法。靜態(tài)類模式。譬如當(dāng)前玩到第幾大關(guān)第幾小關(guān),玩家的金幣數(shù)量等。
- 寫一個(gè)GameController.cs來(lái)控制當(dāng)前關(guān)的游戲進(jìn)程。單實(shí)例模式。游戲的主循環(huán)也是用它控制。初始化,勝利、失敗判定等等。
- 寫一個(gè)InputController.cs來(lái)控制所有的用戶輸入。單實(shí)例模式。鼠標(biāo)、鍵盤、觸摸屏,我們做游戲是保證同時(shí)支持這三種輸入的,因?yàn)榇蟛糠謺r(shí)間是在PC上測(cè)試。
關(guān)于GameController與InputController的聯(lián)系,有點(diǎn)讓人糾結(jié)。一般來(lái)講是在InputContoller里調(diào)用GameController.Instance.Foo()執(zhí)行方法?;蛘咧苯訉?duì)Input寫成Listener的模式,讓GameController去監(jiān)聽。
- 其它的類似菜單控制器,聲音控制器,成就控制器,IAP虛擬道具控制器等等,也是采用類似的方法管理。
- 關(guān)于PlayerPref的操作,統(tǒng)一寫成靜態(tài)類的get/set模式,程序中哪里要用則直接讀寫。
- 如果你的項(xiàng)目里場(chǎng)景的數(shù)量少(<5),那么拖入場(chǎng)景的資源可以很隨意。如果場(chǎng)景數(shù)量很多(幾十個(gè),有的解謎游戲每個(gè)關(guān)卡就是一個(gè)場(chǎng)景),那么拖入場(chǎng)景的prefab數(shù)量一定要少。
- 設(shè)計(jì)你的prefab資源里,你要想像當(dāng)其他人拿到這些資源,是否直接拖入一個(gè)空?qǐng)鼍袄锞湍躵un,頂多再簡(jiǎn)單設(shè)置幾下。如果你設(shè)計(jì)的資源不能做到這些,那么得好好重新想想。
 
更多精彩教程:http://www.westwoodtownhomes.com/resource/

相關(guān)文章
網(wǎng)友評(píng)論

您需要登錄后才可以發(fā)帖 登錄 | 立即注冊(cè)

關(guān)閉

全部評(píng)論:0條

推薦
熱門