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