資源描述:
《unity3d script腳本練習》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。
1、unity3dscript腳本練習2011-02-1203:33:30
2、分類:Unity3D
3、標簽:變量腳本transform函數(shù)unity
4、字號大中小訂閱腳本命名規(guī)范:在開始前,先說一下在Unity中的一些規(guī)范.變量–首寫是小寫字母.變量用來儲存游戲狀態(tài)中的任何信息.函數(shù)–首寫是大寫字母.函數(shù)是一個代碼塊,只需要寫一次,在需要時候可以被再次重用.類–首寫是大寫字母.可以被認為是函數(shù)的庫.提示:當閱讀范例代碼或者Unity的API,要注意首寫字母,這將有助于你更好的理解對象之間的關系.我們第一個項目是在一個簡單的游戲場景中走動.設置場景-啟動Unity.
5、首先,讓我們創(chuàng)建一個用來行走的平面,用一個扁的Cube.-創(chuàng)建一個Cube,縮放x,y,z為”5,0.1,5”,它現(xiàn)在看起來應該是一個大平板.在層次視圖(HierarchyView)中重命名為”Plane”.-創(chuàng)建第二個Cube,將它放置在這個大平板的中心位置.如果在游戲視圖(GameView)看不到它們,那么改變主相機位置使它們可見.重命名該物體為”Cube1”.-你也應該建立一個點光源,并且放在大平板之上,使它們更清晰.-保存選擇菜單File->SaveAs保存這個場景文件.我們第一個腳本我們現(xiàn)在開始游戲設計.我們打算讓Player移動.通過控制主相
6、機的位置來實現(xiàn),要做到這一點,我們現(xiàn)在要寫一個腳本來讀取鍵盤的輸入.然后把腳本和相機鏈接起來(更多的在下一節(jié)).-首先創(chuàng)建一個空腳本.選擇”Assets->Create->Javascript”并在項目面板重命名為”Move1”.-雙擊Move1腳本,它將打開,并且默認包含有Update()函數(shù),我們將我們的代碼插入這個函數(shù),任何加入Update()函數(shù)中的代碼都將在每一幀(frame)執(zhí)行一次.在Unity中為了移動一個游戲對象我們需要用transform來更改它的位置,屬于Translate,這個Translate函數(shù)有x,y和z三個參數(shù),因為我們想
7、通過光標鍵控制主相機,我們只需要下面這些代碼,來決定按鍵按下后參數(shù)的變化:functionUpdate(){transform.Translate(Input.GetAxis("Horizontal"),0,Input.GetAxis("Vertical"));}Input.GetAxis()函數(shù)返回-1或1的一個值,例如在橫軸上左光標鍵映射為-1,右光標鍵映射為1.注意參數(shù)0為y軸,因為我們不希望鏡頭上仰.橫軸和豎軸是在輸入設置(InputSettings)中預先定義好的.從Edit->ProjectSettings->Input中很容易重定義按鍵映射
8、.-打開腳本Move1并輸入上面的代碼,注意大小寫.連接腳本現(xiàn)在我們第一個腳本寫完了,怎么讓Unity的游戲對象具有這個腳本行為呢?我們要做的是賦予這個腳本給游戲對象來體現(xiàn)腳本的行為.-首先點擊你希望應用此腳本的游戲對象,對于我們而言,這里將是主相機,你可以從層次視圖和場景視圖中選擇它.-然后從菜單中選擇Components->Scripts->Move1,將這個腳本賦予相機,你在檢視面板中看到主相機有Move1這個組件.提示:你也可以從項目視圖拖拽腳本到場景視圖的游戲對象上.-點擊播放按鈕運行游戲,你能通過光標鍵或W,S,A,D鍵來移動主相機.你也許注
9、意到了,攝影機移動的有點太快了,讓我們來找一種更好的辦法來控制攝像頭的速度.注:其實這里Input.GetAxis只是獲得一個方向,真正的是需要我們定義一個時間和速度。Deltatime正如先前在Update()函數(shù)里的代碼,相機的速度是按幀執(zhí)行的.然而我們需要游戲對象的移動按秒執(zhí)行.為了實現(xiàn)這一目標,我們需要將返回的值乘以Input.GetAxis()函數(shù)中的Time.deltaTime:functionUpdate(){varx=Input.GetAxis("Horizontal")*Time.deltaTime*speed;varz=Input.G
10、etAxis("Vertical")*Time.deltaTime*speed;transform.Translate(x,0,z);}-將上面的代碼更新到Move1腳本.注意Update()外的這個速度變量.這是所為的暴露變量,這個變量會在檢視面板中看到.它是很有用的,實際使用中可以方便的調整它的值,這比改變代碼來說方便的多.鏈接變量:通過Unity界面來連接變量是非常強大的.Unity的功能.它允許在Unity界面上拖拽(draganddrop)的方式來賦予腳本代碼.這是快速又簡潔的主意.這樣在Unity界面中完成連接變量,我們知道我們總是需要腳本代
11、碼中暴露的變量,以便我們在檢視面板中指派參數(shù).為了演示連接變量的概念,我們建立一