Unity --- 虚拟轴的使用
?1.從虛擬軸上獲得的數(shù)值默認為0,左右兩個按鍵(-1和1)
2.虛擬軸起到的是中間兼容功能,可以使得我們的游戲操作設置在不同的平臺上都能夠使用
虛擬軸
一根虛擬軸常常用來控制這一個軸向上的移動等等
一般虛擬軸的使用分為以下兩步:
1.將控制方向的鍵與虛擬軸進行綁定 --- 比如按下A的時候,我們綁定-1,按下D的時候我們綁定1。
2.綁定好后我們通過獲取虛擬軸的值來進行if編程,當為虛擬軸的值小于0的時候向左移動,當為虛擬軸的值大于1的時候向右移動
3.由于我們的按鍵和虛擬軸進行了綁定,當啥也不按的時候虛擬軸的值為0,按下A鍵虛擬軸向-1過度,此時值小于0,按下D鍵虛擬軸向1過度,此時值大于0
小于0的時候左移,大于0的時候右移
4.之所以用虛擬軸是因為我們可以將移動等等操作面向虛擬軸編程,然后虛擬軸可以面向不同的按鍵編程,這樣去到不同的平臺我們只需要修改虛擬軸面向的按鍵就可以了,不需要到實現(xiàn)移動等操作功能的代碼
1.在Edit.projectSetting.Input Manager中我們可以點開一個叫axes的選項
?這個axes中就有Unity內(nèi)置的所有虛擬軸和虛擬按鍵
什么是虛擬按鍵? --- 你可以把它理解為半虛擬軸,他只有0/1或者是0/-1兩個選項?
我們用的最多的是開頭的兩個虛擬軸:Horizontal(adj.水平的),Vertical(adj.垂直的)-- 分別對應x,y軸
隨便對開一個軸線,來到上面這張圖中的選項:
開頭兩個Button分別是綁定-1和+1的按鍵
然后底下兩個Button則是上面兩個按鍵的替補按鍵 a和d
這三個分別是虛擬軸的重力,死區(qū)和靈敏度,至于這三個有啥作用可以把鼠標停在上面自己查看?
虛擬軸的使用依然是在Updata方法中,這是因為虛擬軸是面向按鍵編程的,它依然要隨時準備獲取用戶的按鍵輸入,這就需要每幀都對輸入緩存區(qū)進行掃描,確保一定能獲取用戶的按鍵輸入
1.虛擬軸的本質(zhì)是一個float型的數(shù)字,所以獲取虛擬軸后我們需要用一個float變量來承接這個虛擬軸:調(diào)用Input類中的GetAxis方法來獲取虛擬軸,括號內(nèi)填寫的參數(shù)是字符串類型的我們要獲取的虛擬軸的名稱
?2.注意在Unity中的虛擬軸都有默認綁定按鍵
Horizontal的默認綁定按鍵:-1 -- 按鍵a , 1 -- 按鍵d
Virtual :?-1 --- 按鍵s , 1 --- 按鍵w
有默認綁定按鍵的話,虛擬軸的值就會在按下按鍵的時候,向按鍵對應的值過渡
除了虛擬軸以外,還有虛擬按鍵,Unity中虛擬按鍵也是有默認綁定的,比如Jump虛擬按鍵的默認綁定按鍵是鍵盤中的空格
直接通過Input中的GetButton方法,并向方法的括號中傳入虛擬按鍵的按鍵名(在Input Manager中有)我們就能夠?qū)Ξ斍疤摂M按鍵的狀態(tài)做判斷?
由于虛擬按鍵分為三個狀態(tài) --- 按下的那一刻,按下事,按鍵抬起時,所以我們也需要三個方法來判斷這個三個狀態(tài)的值 -- down , 按下時 ,up --- 如果處于對應的狀態(tài)就返回ture,否則返回false
總結(jié)
以上是生活随笔為你收集整理的Unity --- 虚拟轴的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 董事会会议中,如何让董事之间的对话更加畅
- 下一篇: 玻璃缸里的鱼