分類:Unity、C#、VS2015 程序員
建立日期:2016-04-21 編輯器
在Input類中,Key與物理按鍵對應,例如鍵盤、鼠標、搖桿上的按鍵,其映射關係沒法改變,程序員能夠經過按鍵名稱或者按鍵編碼KeyCode來得到其輸入狀態。例如,CetKeyDown(KeyCode.A)會在按A鍵時返回true。 函數
下面是Input類的成員變量: 工具
下面是Input類的成員函數:編碼
輸入軸(Axis)用來模擬平滑變化的輸入,如搖桿的變化、方向盤的轉動等,須要在輸入管理器中配置。 spa
輸入軸包含正負兩個虛擬按鍵(Positive Button和Negative Button) 。 能夠把一個輸入軸想象成一個滑動條,左邊取值爲-1,右邊取值爲1。當按下正按鍵時,滑塊向右邊的正向移動;當按下負按鍵時,滑塊向左邊的負向移動。滑塊的位置對應輸入軸的當前取值。 3d
Button是輸入管理器(Input Manager)中定義的虛擬按鍵,經過名稱來訪問。開發者能夠根據須要建立和命名虛擬按鍵,並設置與物理按鍵(及其組合)的消息映射。例如,Unity默認爲用戶建立了名爲【Fire1】的虛擬按鍵,並將鼠標左鍵和左【Ctrl】鍵的消息映射給Fire1。 blog
打開菜單欄中的Edit-> Proect->Settings->Input項可打開輸入管理器。 遊戲
使用虛擬按鍵的好處就是能夠靈活地配置輸入,而且在遊戲發佈後可讓玩家自定義鍵位輸入。所以,在開發中推薦使用虛擬按鍵。 ip
可在此界面中添加新的輸入軸,另外也可在這裏更改每一個軸的設置。每一個軸能夠對應操縱桿、鼠標的兩個按鈕或兩個鍵盤按鍵。
下面解釋上圖界面中各參數的含義。
名稱 (Name)
用來在腳本中檢查該軸的字符串名稱。
描述名稱 (Descriptive Name)
配置 (Configuration) 對話框輸入選項卡中顯示的正名稱,用於獨立構建。
描述負名稱 (Descriptive Negative Name)
配置 (Configuration) 對話框輸入選項卡中顯示的負名稱,用於獨立構建。
負按鈕 (Negative Button)
用於在負方向移動軸。
正按鈕 (Positive Button)
用於在正方向移動軸。
備選負按鈕 (Negative Button)
用來在負方向移動軸的備選按鈕。
備選正按鈕 (Alt Positive Button)
用來在正方向移動軸的備選按鈕。
重力 (Gravity)
在沒有按任何按鈕時,軸降低到 0 的每秒單位速度。
死亡 (Dead)
模擬死區的大小。全部在這個範圍內的模擬設備值將映射爲 0。
靈敏度 (Sensitivity)
軸向目標值移動的每秒單位速度。該功能僅用於數碼設備。
捕捉 (Snap)
若是啓用,按下相反方向的按鈕時,軸值將自動歸零。
反向 (Invert)
若是啓用,按下負按鈕 (Negative Button) 將提供正值,反之亦然。
類型 (Type)
控制此軸的輸入類型。
軸 (Axis)
鏈接設備的軸將控制這個軸。
操縱桿 (Joy Num)
鏈接操縱桿將控制這個軸。
這些設置可用來微調輸入的外觀和感受。他們在編輯器均帶有工具提示。
下面的的腳本能夠查詢當前狀態:
value = Input.GetAxis ("Horizontal");
軸值在 -1 到 1 之間。中間位置爲 0。 這是在操縱桿輸入和鍵盤輸入的狀況下。
可是,鼠標增量和 Window Shake 增量是指鼠標或視窗在最後一幀移動的距離。這意味着,當用戶快速移動鼠標時,它可能大於 1 或小於 -1。
您能夠建立多個名稱相同的軸。在得到輸入軸時,絕對值最大的軸將被返回。這使得爲一種以上輸入設備指定同一個軸名稱成爲可能。例如,爲鍵盤輸入建立一個軸,而且爲操縱桿建立另外一個名稱相同的軸。若是用戶使用操縱桿,輸入未來自操縱桿,不然,輸入未來自鍵盤。有了這種方法,編寫腳本時就不須要再考慮輸入的來源了。
要映射一個鍵到一個軸,您必須在檢視器中的正按鈕 (Positive Button) 或負按鈕 (Negative Button) 屬性中輸入按鍵名稱。
按鍵名稱遵循如下慣例:
標準鍵: "a"、"b"、"c"、...
數字鍵:"1"、"2"、"3"、 ...
方向鍵:「上 (up)」、「下 (down)」、「左 (left)」、「右 (right)」
小鍵盤鍵:"[1]"、"[2]"、"[3]"、"[+]"、"[=]"
修改鍵:"right shift"、"left shift"、"right ctrl"、"left ctrl"、"right alt"、"left alt"、"right cmd"、"left cmd"
鼠標按鈕:"mouse 0"、"mouse 1"、"mouse 2", ...
操縱桿按鈕(從任意操縱桿):"joystick button 0"、"joystick button 1"、"joystick button 2"、 ...
操縱桿按鈕(從指定操縱桿):"joystick 1 button 0"、"joystick 1 button 1"、"joystick 2 button 0"、...
特殊鍵:"backspace"、"tab"、"return"、"escape"、"space"、"delete"、"enter"、"insert"、"home"、"end"、"page up"、"page down"
功能鍵:"f1"、"f2"、"f3"、...
在腳本界面和檢視器中,用來識別按鍵的名稱是同樣的:
value = Input.GetKey ("a");