虛擬軸
?認識
把不同設備的輸入映射到虛擬軸中,簡化了編程的模型。
輸入管理器
1)輸入管理器可以設置項目的各種輸入和操作
2)把虛擬軸的定義與使用分離
開啟位置
Edit->ProjectSettings->Input
參數解析
Name虛擬軸名字
Negative Button反向按鈕,該按鈕會發送一個負值 ?Positive Button正向按鈕,該按鈕會發送一個正值
Alt Negative Button備選反向按鈕 ? ?Alt Positive Button備選正向按鈕
Gravity重力,復位速度,只用于【鍵/鼠標】類型按鍵
Dead小于該值的輸入值(不論正負值)都會被視為0
Sensitivity靈敏度,對于鼠標,設置該值會對鼠標的實際移動距離按比縮放。
Snap正反按鍵都作用時,虛擬軸的值視為0 ??Invert正反按鈕發送的值取反
Type輸入設備類型
Input靜態屬性
mousePosition獲取鼠標當前的屏幕坐標
anyKey判斷是否有鍵被按下
inputString獲取當前幀內輸入的字符串
touches獲取當前幀內多點觸屏的信息
GetAxis××系列
GetAxis(StringaxisName)
根據坐標軸名稱返回虛擬坐標系中的值,范圍在[-1,1]之間,如果坐標軸設置為鼠標運動增量,鼠標增量乘以坐標軸靈敏度的范圍將不是[-1,1]
GetAxisRaw(StringaxisName)
通過坐標軸名稱返回一個不使用平滑濾波器的虛擬坐標值,鍵盤輸入必然會是-1、0或1。
GetButton××系列
GetButton(StringbuttonName)
當對應的虛擬按鈕被按住時一直返回true
GetButtonDown(StringbuttonName)
在用戶按下指定名稱的虛擬按鈕是返回true,此后每一幀重置狀態之前,它將不會返回true除非用戶釋放此按鍵然后重新按下。
GetButtonUp(StringbuttonName)
在用戶釋放指定名稱的虛擬按鈕時返回true,此后每一幀重置狀態之前,它將不會返回true除非用戶釋放此按鍵然后重新按下。
GetKey××系列
GetKey(Stringname)
當通過名稱指定的按鍵被用戶按住時返回true
GetKeyUp(Stringname)
當通過名稱指定的按鍵被用戶釋放時返回true
GetKeyDown(String name)
當通過名稱指定的按鍵被用戶按下時返回true
name參數可以使用KeyCode枚舉
GetMouseButton××系列
GetMouseButton(intbutton)
當指定的鼠標按鈕被按住時返回true
GetMouseButtonDown(intbutton)
當指定的鼠標按鈕被按下時返回true
GetMouseButtonUp(intbutton)
當指定的鼠標按鈕被釋放時返回true
(0對應左鍵 ,1對應右鍵 ,2對應中鍵)
要點總結
建議將所有的輸入檢測調用都寫在Update方法中
GetAxis××系列和GetButton××系列用于虛擬軸和虛擬按鍵的檢測
GetKey××系列和GetMouseButton××系列用于真實的鍵盤和鼠標的檢測