Unity3D開發(fā):Unity3D中的腳本概述
和其他的3D軟件一樣,Unity3D作為一個(gè)類播放器的3D集成軟件,具有良好的時(shí)間層級(jí)關(guān)系。比如Start()里面的語言,總是在播放器初始化時(shí)執(zhí)行一次,而后就不再執(zhí)行。例如下面用JS寫的一個(gè)例子。在菜單欄上選中 ——>
——>
,將下面這段代碼拖拽給Hierarchy【層次清單欄】中任意一個(gè)對(duì)象。
您就會(huì)在播放器剛開始播放的時(shí)候,在左下角的控制臺(tái)面板中看到 這句話,證明您的Game播放器已經(jīng)開始工作了。如圖5.1所示:
圖5.1
(注:這個(gè)控制臺(tái)買那般以后在大家使用的時(shí)候會(huì)經(jīng)常用到它,因?yàn)樗梢杂米髂a片段的調(diào)試,以及您程序出錯(cuò)了的提示框,詳細(xì)的提示您出錯(cuò)的原因所在。)
當(dāng)然有了初始化函數(shù),就一定會(huì)有刷幀函數(shù)Update(),該函數(shù)內(nèi)所有的代碼會(huì)在播放器每播放一幀時(shí)執(zhí)行。例如下面用JS寫的一個(gè)例子,在菜單欄上選中 ——>
——>
,輸入如下代碼:
該代碼會(huì)在播放器每播放一幀的時(shí)候,顯示游戲開始到現(xiàn)在所消耗的時(shí)間值。
Unity3D中有著非常強(qiáng)大的接口處理功能,您可以在代碼中為對(duì)象制定任意一個(gè)空接口用于和對(duì)應(yīng)類型的對(duì)象進(jìn)行交互,例如下面用JS寫的一個(gè)例子,在菜單欄上選中 ——>
——>
,輸入如下代碼:
該代碼為對(duì)象添加了一個(gè)在Z軸方向上的初始速度,如果在沒有其他外力的作用下,物體將一直沿著Z軸方向以5的速度運(yùn)動(dòng)。并且當(dāng)您將這段代碼拖拽給一個(gè)物體對(duì)象后,它的這個(gè)初始速度可以作為一個(gè)接口在它的屬性面板中進(jìn)行修改。如圖5.2所示:
圖5.2
除了數(shù)字作為接口外,接口還可以是對(duì)象,例如下面用JS寫的一個(gè)例子,在菜單欄上選中 ——>
——>
,輸入如下代碼:
您可以將這段代碼拖拽給Hierarchy【層次清單欄】中任意一個(gè)對(duì)象,因?yàn)樗谶@里定義了一個(gè)Transform類接口對(duì)象cubeGO,所以它幾乎與拖拽的對(duì)象無關(guān)。拖拽成功之后來到該物體的屬性面板中,您可以看到這樣一個(gè)屬性卷展欄 ,cubeGO的后面有個(gè)很明顯未定義對(duì)象填寫欄
,然后我們把想要使之運(yùn)動(dòng)的物體拖拽到這個(gè)上面來,當(dāng)我們運(yùn)行游戲時(shí),只要按下“G”鍵就可以看到被拖拽的物體作為“cubeGO”的指代對(duì)象,朝著Z軸方向運(yùn)動(dòng)了。
Unity3D中的C#Script編程的注意事項(xiàng)
也許您在學(xué)習(xí)Unity3D之前,已經(jīng)是一位C#的編程高手了。但在Unity3D中的C#并不像真正的C#那般強(qiáng)大,在Unity3D的C#中必須全部繼承自MonoBehaviour。下面為一段C#Script的完整代碼:
除此之外它不支持空間命名,但官方說他們很有可能會(huì)在以后的版本中支持這一功能。
在Unity3D中,JavaScript和C#Script的編程效果近乎一樣。只是為了不同程序愛好者設(shè)立了不同的編程模式。并且JavaScript所編寫的代碼對(duì)象可以和C#Script編寫的代碼對(duì)象交叉使用,并不發(fā)生任何沖突。
修改MonoDevelop編輯器為Unity3D的默認(rèn)編輯器
通常情況下Unity3D默認(rèn)的編輯器都是“UniSciTE”,它用起來十分輕巧快捷,就像記事本一樣。
但如果要開發(fā)一些大型的項(xiàng)目, 顯然“UniSciTE”簡(jiǎn)單的功能就不足以支撐它的工作了。但如果您每次在編輯腳本的時(shí)候,都去用“MonoDevelop”一個(gè)個(gè)的打開,又會(huì)顯得很 麻煩。所以我們就要在Unity3D中做一些設(shè)置,讓“MonoDevelop”成為默認(rèn)的腳本編輯器。具體的步驟是:在菜單欄中找到 ——>
,在彈出的
對(duì)話框中找到
并將它后面的下拉框選中為
,瀏覽到我們“MonoDevelop”可執(zhí)行文件存放的地方。這個(gè)路徑一般都和您的Unity3D文件夾在一起。
設(shè)置好之后,重新再Unity3D中點(diǎn)選腳本文件,就會(huì)發(fā)現(xiàn)已經(jīng)能用“MonoDevelop”軟件打開了,但一次打開的時(shí)候會(huì)稍顯慢一點(diǎn),因?yàn)?ldquo;MonoDevelop”需要加載很多東西。
當(dāng)然,如果您是一個(gè)C#和Visual Studio忠實(shí)的編程愛好者,您也可以用同樣的方法來設(shè)置Visual Studio軟件的路徑,讓Visual Studio成為您Unity3D腳本的默認(rèn)編輯器。