版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 學(xué)習(xí) C#進(jìn)行 unity3D 編程Unity3D 提供了三種可供選擇的腳本編程語(yǔ)言:JavaScript, C# 以及 Boo。盡管它們各有各的優(yōu)勢(shì)與不足,但對(duì)我來(lái)講 C#顯然會(huì)脫穎而出成為我的首選——首選,它完整支持面向?qū)ο?,而且語(yǔ)法與 Java 以及 ActionScript 3很 類似,而這兩者都是我所熟悉的。不過(guò)在接觸 Unity3D 之前,我一行 C#的代碼都沒(méi)寫(xiě)過(guò),所以我必須從頭學(xué)起。C#由 Mic
2、rosoft 提出并廣泛使用于.NET framework 以及 Silverlight 開(kāi)發(fā)中。不過(guò)我們首先需要明白的是,學(xué)習(xí)用于 Unity3D 的 C#并不等同于學(xué)習(xí).NET 平臺(tái),事實(shí)上你并不需要了解所有關(guān)于.NET 的事情就可以使用 C#為 Unity3D 編寫(xiě)腳本程序。盡管我平時(shí)使用各種在線文檔,但是一本實(shí)體書(shū)通常才是最好的助手,于是我決定買(mǎi)一本 C#好書(shū)。O’Reilly C# Pocket Guide 看起來(lái)正是我所需
3、要的,購(gòu)買(mǎi)一本500頁(yè)的 C#圣經(jīng)顯然是沒(méi)有必要的,因?yàn)槟切?shū)中大部分內(nèi)容都是與.NET 相關(guān)的,根本無(wú)法與 Unity3D 兼容。當(dāng)然,僅僅依靠這一本書(shū)是不夠的,你還需要經(jīng)常查閱 Unity3D scripting reference。文檔中所有的例子都是用 Javascript 書(shū)寫(xiě)的,但是不必?fù)?dān)心,一旦你熟悉 C#后將它們翻譯為 C#語(yǔ)言將輕而易舉。C#是一種非常典雅而強(qiáng)大的編程語(yǔ)言,它的 dot-syntax 命名法則基于Jav
4、a,所以如果你具有 Java 編程背景將感到非常舒服。不過(guò)區(qū)別也還是有一些的,最明顯的應(yīng)該是在 C#中屬性以及方法的名稱約定俗稱都是以大寫(xiě)字母開(kāi)頭的。 我估計(jì)這是繼承自 Visual Basic 的習(xí)慣,我并不是這種習(xí)慣的簇?fù)?,但是與其反抗到底還不如接受它以保證代碼的一致性。C#的特性列表實(shí)在太長(zhǎng),這使得 ActionScript 實(shí)在是看起來(lái)有些相形見(jiàn)絀。 C#與 Actionscript 從本質(zhì)上是極為相似的,我估計(jì)下一次 Acti
5、onScript 的升級(jí)中至少會(huì)實(shí)現(xiàn) C#的一些特性,因此有必要在此預(yù)先有所了解。下面是我所鐘愛(ài)的一些特性。運(yùn)算符重載這是目前為止最酷的!它允許程序員為+-*/這樣的運(yùn)算符定義特殊的行為。它的優(yōu)勢(shì)在向量加法運(yùn)算中就可以明顯體現(xiàn)出來(lái),在 ActionScript中,要計(jì)算向量之和,你需要書(shū)寫(xiě)類似下面的代碼: var c:Vector3D = a.add(b);這樣并不是很好,在多于兩個(gè)向量相加時(shí)代碼的易讀性會(huì)變得很差。如果在 C#中
6、重載+運(yùn)算符,代碼將會(huì)變成下面的形式: Vector3 c = a + b;這樣是不是可讀性更好而且更為優(yōu)雅呢?不用想我們就可以猜到,在Unity3D 中所有向量的運(yùn)算符都進(jìn)行了重載。如果你希望自己實(shí)現(xiàn),運(yùn)算符重 載也非常簡(jiǎn)單,對(duì)于上面的例子,代碼大致是下面這個(gè)樣子的: public static Vector3 operator + (a:Vector3, b:Vector3) {return new Vector3(a.x + b.
7、x, a.y + b.y, a.z + b.z); }這其中有一些簡(jiǎn)單的規(guī)則:運(yùn)算符函數(shù)永遠(yuǎn)都是靜態(tài)的(static) ,并且需始使用 Javascript 進(jìn)行 Unity3D 的編程而不必操心要學(xué)習(xí)什么新東西,畢竟, 如 Unity3D 所說(shuō),任何使用 C#可以完成的事同樣可以使用 Javascript 完成。但是從長(zhǎng)遠(yuǎn)考慮的話,C#可以提供更好的代碼管理,完整的 OOP 支持,strong typing 以及掌握一門(mén)優(yōu)秀編程語(yǔ)言所
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- unity3d命令手冊(cè)(1)
- c#編寫(xiě)3d游戲框架示例
- 如何優(yōu)化unity3d游戲運(yùn)行性能
- 基于unity3d的潛行游戲開(kāi)發(fā)
- unity3d & photon引擎初嘗試
- unity3d游戲開(kāi)發(fā)之坐標(biāo)系
- unity3d中連接數(shù)據(jù)庫(kù)
- unity3d本科生實(shí)訓(xùn)報(bào)告
- 基于Unity3D引擎的FPS游戲開(kāi)發(fā).pdf
- 基于Unity3D的虛擬實(shí)驗(yàn)系統(tǒng)設(shè)計(jì).pdf
- 基于unity3d引擎的fps游戲開(kāi)發(fā)(1)
- 基于Unity3D的游戲開(kāi)發(fā)與設(shè)計(jì).pdf
- unity3d教程:基礎(chǔ)入門(mén)中文版資料
- unity3d游戲開(kāi)發(fā)之風(fēng)力區(qū)域、碰撞、剛體等
- 基于Unity3D的增強(qiáng)現(xiàn)實(shí)技術(shù)研究.pdf
- 基于unity3d《叢林冒險(xiǎn)》游戲的設(shè)計(jì)與開(kāi)發(fā)
- unity3d技術(shù)之紋理著色器基礎(chǔ)詳解
- htc-vive基礎(chǔ)開(kāi)發(fā)文檔(unity3d)(doc)
- unity3d中攝像機(jī)的調(diào)節(jié)和操作教程
- 基于Unity3D坦克戰(zhàn)爭(zhēng)游戲的設(shè)計(jì)與實(shí)現(xiàn).pdf
評(píng)論
0/150
提交評(píng)論