Unity的Input介紹


我幾乎從來不用這個東西,但是這個東西老是在我面前,弄得我鬧心,今天就來好好解決它。

1.從Edit-ProjectSetting->Input打開設置界面

   

2.打開這個界面,我們發現,居然有兩個Horizontal,我們就順着這個問題,對比一下兩者的區別

這是第一個

這是第二個

可以發現,有幾個命名為xxxButton的按鈕不一樣,另外還有一個就是Type不一樣

根據unity的官方http://docs.unity3d.com/Manual/ConventionalGameInput.html

這個type是用來表示輸入的類型的,但是沒有一一的解釋,根據他的三個下拉選項,我們做個估計

Key or Mouse Button Key 指按鍵或者是鼠標按鍵(就是鼠標的左右鍵),這個key應該怎么理解,抱着較真的態度,

                                     我就估計一下,就是KeyCode這個枚舉里的所有類型

                                     也就是說,除了鍵盤之外,還可以包含鼠標。除此之外,很多人會有一個疑惑,

                                     就是left right 這個東西怎么寫

                                     unity好像沒有給出個具體的清單

                                     所以我也是估計的,你就照着KeyCode里面寫法去寫,然后改成小寫,再加上空格,估計就行。

Mouse Movement  鼠標的移動

Joystick Axis   搖桿

這樣,我們基本能理解這個type的含義了,就是指你的輸入來源,是按鍵,鼠標or搖桿?

與輸入來源Type相對應,就是每一種Type之下,你的具體按鍵

比如圖一,Type為Key or Mouse Button,這是按鍵,那么你就需要制定具體是哪個按鍵,上圖就是指定 左右箭頭為第一選項,a和d為第二選項。

而圖二,由於Type為Joystick Axis 搖桿,所以就不需要指定了。

獲取軸的位移調用的api,通常是 float vert= Input.GetAxis( "Vertical" );  //吐槽一下,硬編碼么

vert的范圍為(-1,1),通常為負表示下,為正表示上

3.按鈕類型的輸入

按鈕類型的輸入,只要寫Positive Button就可以了

bool Fire1= Input.GetButton( "Fire1" );

返回true表示按下,false表示沒有按下

 

參考文章 http://blog.163.com/kingmax_res/blog/static/77282442201031712215956/

             http://www.cnblogs.com/neverdie/p/Unity3D_GameObject_Component.html

             http://www.58player.com/blog-2540-113451.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM