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