Unity3D的腳本-script入門(mén)

Unity3D的腳本-script入門(mén)

ID:37941378

大小:1.43 MB

頁(yè)數(shù):12頁(yè)

時(shí)間:2019-06-03

Unity3D的腳本-script入門(mén)_第1頁(yè)
Unity3D的腳本-script入門(mén)_第2頁(yè)
Unity3D的腳本-script入門(mén)_第3頁(yè)
Unity3D的腳本-script入門(mén)_第4頁(yè)
Unity3D的腳本-script入門(mén)_第5頁(yè)
資源描述:

《Unity3D的腳本-script入門(mén)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)

1、www.hope-edu.com.cnUnity3D的腳本-script入門(mén)Unity3D的基本操作很容易就能掌握了,接下來(lái)就是游戲系統(tǒng)的核心部分:腳本。什么是Script(腳本)?簡(jiǎn)而言之,就是使用代碼來(lái)執(zhí)行一系列動(dòng)作命令的特殊文本,它需要編譯器來(lái)從新解讀。U3D內(nèi)部如何解讀腳本,這不是我們所要關(guān)心的—這是引擎開(kāi)發(fā)人員的活,我們所要知道的就是腳本的使用規(guī)則?!救N語(yǔ)言的特點(diǎn)】U3D支持C#,JavaScript,BOO三種語(yǔ)言格式的代碼編寫(xiě)。首先來(lái)簡(jiǎn)單介紹下這三種語(yǔ)言的特點(diǎn):對(duì)U3D來(lái)說(shuō),這是入門(mén)級(jí)的腳本語(yǔ)言,U3D內(nèi)置的函數(shù)都能通過(guò)JS方

2、便的調(diào)用。語(yǔ)法上,JS和傳統(tǒng)的C語(yǔ)言差不多,需要分號(hào)結(jié)束符,變量類型定義,大括號(hào)……不過(guò)它的變量類型定義,是通過(guò)冒號(hào)接在變量右邊,如:Name:string=”Li”。相對(duì)其他兩種語(yǔ)言,使用JS語(yǔ)法,很多函數(shù)不需要實(shí)例化就能直接使用,如:vector3direction=vector3(1,2,3)。如果使用C#,則需要使用new關(guān)鍵字:vector3direction=newvector3(1,2,3)。JavaScript直接繼承自U3D的MonoBehaviour類,因此不像C#和BOO那樣需要使用Using或Import來(lái)加載類庫(kù)。這

3、看似省心,不過(guò)因?yàn)槿鄙倭思虞d特殊類庫(kù),JavaScript能調(diào)用的第三方函數(shù)不多(當(dāng)然,我們可以載入net類庫(kù)給JavaScript調(diào)用,雖然看著有點(diǎn)奇怪……)。*注意:JavaScript不是Java,同時(shí),U3D中的JavaScript也有別于獨(dú)立的JavaScript語(yǔ)言。C#(發(fā)音CSharp),微軟開(kāi)發(fā)的面向?qū)ο缶幊陶Z(yǔ)言。由于有強(qiáng)大的net類庫(kù)支持,以及由此衍生出的很多跨平臺(tái)語(yǔ)言,C#逐漸成為U3D開(kāi)發(fā)者推崇的程序語(yǔ)言。U3D內(nèi)置的腳本范例中,C#腳本也占了很大一部分(其他腳本是JavaScript腳本)。另外,在裝有VisualS

4、tudio的電腦上,我們也可以使用微軟的腳本編輯工具來(lái)編寫(xiě)U3D腳本。C開(kāi)頭,那么語(yǔ)法上和Cwww.hope-edu.com.cn語(yǔ)言是很接近的,除了面向?qū)ο笳Z(yǔ)言所具有的一些特點(diǎn)。當(dāng)然,我不用在這進(jìn)行太多說(shuō)明,因?yàn)镃#的相關(guān)學(xué)習(xí)資料很多。BOO是新興的基于Python的語(yǔ)言。語(yǔ)法上,BOO和Python大同小異,都是通過(guò)換行來(lái)實(shí)現(xiàn)語(yǔ)句的結(jié)束,它省略了分號(hào)、大括號(hào),甚至條件語(yǔ)句的小括號(hào)等。Python在很多大型三維圖形軟件上都有應(yīng)用,由此可以看出它的跨平臺(tái)性能很不錯(cuò),我也選擇使用Python來(lái)編寫(xiě)maya特效腳本;不過(guò),對(duì)于游戲事件的編寫(xiě),個(gè)人

5、感到這種精簡(jiǎn)的語(yǔ)法反而有些難以適應(yīng)。如基本的變量類型定義,BOO(類Python)語(yǔ)法就顯得不那么便捷:directionasvector3=vector3(1,2,3)。游戲事件不同于特效腳本,前者是過(guò)程中的交互,而后者只需要看到結(jié)果。因此,游戲中經(jīng)常需要大量的具有明確類型的變量出現(xiàn),BOO語(yǔ)言可以省略變量類型的優(yōu)勢(shì)在這里反而容易引發(fā)問(wèn)題。引擎編譯時(shí),三種語(yǔ)言的執(zhí)行效率是一樣的,因?yàn)閁3D會(huì)內(nèi)部進(jìn)行它自己的語(yǔ)言格式的轉(zhuǎn)換。盡管我們可以在不同語(yǔ)言編寫(xiě)的腳本之間進(jìn)行變量和方法的調(diào)用,但是我不推薦那么做,因?yàn)闇y(cè)試確實(shí)會(huì)存在一些意想不到的問(wèn)題。使用

6、不同語(yǔ)言編寫(xiě)多個(gè)腳本時(shí),應(yīng)盡量讓腳本之間沒(méi)有直接聯(lián)系。最后,個(gè)人認(rèn)為,在windows平臺(tái)下,C#是U3D腳本語(yǔ)言的最佳選擇。【腳本的使用規(guī)則】U3D的腳本作用方式很有趣,我稱之為“拖放法”。無(wú)論是作用在一個(gè)具體的場(chǎng)景物體還是管理著批量的物體,腳本首先必須依附于場(chǎng)景中的一個(gè)元素才能被執(zhí)行。要將腳本賦予物體的方式很簡(jiǎn)單,就是按住鼠標(biāo)左鍵將腳本文件拖放到物體的屬性面板上(也可以拖放到場(chǎng)景的物體上)。U3D有個(gè)概念,那就是component(成分)--類似Maya的節(jié)點(diǎn)。包括腳本,所有元素屬性都是游戲物體的component。添加、刪除、停用、讀取

7、、寫(xiě)入component信息,就是腳本所要做的(盡管腳本也是個(gè)component)。www.hope-edu.com.cnnet語(yǔ)言的C#,在不同腳本之間調(diào)用變量和方法時(shí),如果腳本位于同一路徑下,那么只需要對(duì)非static(靜態(tài))成員進(jìn)行new實(shí)例化即可。例如a.cs和b.cs,要調(diào)用腳本a中的一個(gè)非靜態(tài)變量cc,需要在腳本b中寫(xiě)入:ac=newa(),然后c.cc的格式完成調(diào)用。不過(guò),作為一個(gè)component,要調(diào)用不同腳本之間的成員,U3D的規(guī)則是使用GetComponent函數(shù)來(lái)完成(其實(shí)也就相當(dāng)于new的作用,只是U3D不支持這種腳

8、本間調(diào)用的寫(xiě)法)。如:someScript=GetComponent();如果是在C#腳本中調(diào)用JavaScript腳本,則使用強(qiáng)制類

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。