分類:Unity、C#、VS2015
創建日期:2016-04-16
游戲吸引人的地方在於它的可交互性。如果游戲沒有交互,場景做得再美觀和精致,也難以稱其為游戲。
在Unity中,游戲交互通過腳本編程來實現。腳本可以理解為附加在游戲對象上的用於定義游戲對象行為的指令代碼。通過腳本,開發者可以控制每一個游戲對象的創建、銷毀以及對象在各種情況下的行為,進而實現預期的交互效果。
在Unity中進行腳本開發十分簡易和高效,這是因為Unity的編輯器整合了很多腳本編輯的功能,比如腳本與游戲對象的連接、變量數值的修改以及實時預覽腳本修改後的游戲效果,這樣就節省了很多腳本開發時調整和調試的時間,提高了游戲開發的效率。
另外,Unity內置有一個腳本資源包,提供了豐富的游戲開發中的常用腳本,以幫助開發者快速實現游戲的基本功能。
Unity支持3種腳本語言:C#、JavaScript 和Boo。
其中,JavaScript 和 C# 大家都比較熟悉了,這也是在Unity中最常用的兩種腳本語言。Boo是Python語言在.NET上的實現,使用者相對較少。
在Unity工程中,可以同時存在用不同語言編寫的腳本。比如,在同一個工程中,有些腳本可能是用C# 編寫的,而另一些腳本可能是用JavaScript編寫的,這都沒問題。因此,開發人員可以根據自己的喜好來選擇使用哪種語言來開發,而且無須擔心兼容性問題。
Unity的腳本語言在基於Mono的.NET平台上運行,因此可以使用各種.NET庫,這也為XML、數據庫、正則表達式等問題提供了很好的解決方案。另外,和傳統解釋型腳本語言不同,Unity裡的腳本都會經過編譯,因此它們的運行速度也很快。
總的來說,在同一個Unity工程中,基本的東西既可以用JavaScript來編寫,也可以用C#來編寫。但是,深度開發時(比如實際的商業游戲項目)基本上都是用 C# 來開發的。另外,絕大多數Unity的第三方游戲插件也都是用C#來開發的。
還有,用JavaScript編寫的任何功能,也都可以用C#來實現。
都可以。
但是,VS2015的編輯器和調試器比MonoDevelop強得太多了(比如設置斷點等),而且創建、修改多個腳本時,不必在VS2015和Unity之間來回切換,直接在VS2015中創建和編輯多個腳本文件就行了,等腳本的修改全部完成並保存後(注意:必須保存),再切換到Unity,即可直接使用這些腳本。另外,Unity和VS2015之間的同步全部是自動完成的,不需要你去操這個心,你只需要在VS2015中編輯並保存就行了。
所以,用Unity開發游戲時,首選的腳本語言是C#,首選的腳本編輯器是VS2015。
但是,如果你對C#不熟悉(比如Java開發人員),也可以選擇用JavaScript來編寫。這也是為什麼搞Java的用Unity開發手機游戲時都是用JavaScript寫腳本,因為他們不會C#,只好退而求其次了。
本章的所有示例都在ch06Demos工程中。