我幾乎從來不用這個東西,但是這個東西老是在我面前,弄得我鬧心,今天就來好好解決它。
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
