Unity 捕获输入总结

Unity捕获输入总结

GetKey类传入参数为KeyCode或String类型的按键名称,而GetButton类、GetAxis类传入参数只能为InputManager中定义的轴键。
GetKey类主要有Input.GetKey()、Input.GetKeyDown()、Input.GetKeyUp()。
GetMouseButton类方法主要有Input.GetMouseButton()、Input.GetMouseButtonDown()、Input.GetMouseButtonUp(),参数为0或1。
GetButton类方法主要有Input.GetButton()、Input.GetButtonDown()、Input.GetButtonUp()。
GetAxis类的方法只有GetAxis(),返回的是一个-1到+1之间的float值,如果不是简单的键盘和操纵杆输入,需要把轴设置为增量鼠标移动,则鼠标增量乘以轴灵敏度,传入参数是InputManager中定义的轴。

如果使用键盘输入使用Input.GetKeyDown(KeyCode.K)和使用鼠标输入使用Input.GetMouseButtonDown(0)​,可以比较直接看出是键盘输入还是鼠标输入。
GetButton类方法兼有GetKey类方法和GetMouseButton类方法两种功能,但是需要到InputManger中进行设置。 ​​
另外,Unity的Mono类提供一个OnMouseDown()方法,区别于Input.GetOnMouseBottonDown检测鼠标点击触发方法,OnMouseDown()需要把脚本挂载在Collider对象上,通过点击挂载对象触发方法。


按键名称如下:
普通键:“a”,“b”,“c”…
数字键:“1”,“2”,“3”,…
箭头键:“up”, “down”, “left”, “right”
键盘键:“[1]”, “[2]”, “[3]”, “[+]”, “[equals]”
修改键:“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”,…
如:
bool held = Input.GetKey(KeyCode.Space); //按住空格键时,GetKey会当按键被按住时持续返回true值,held被持续赋值为true,直到空格键松开为止
GetKeyDown在按键按下瞬间返回true,GetKeyUp则在按键松开时返回true;
KeyCode.R表示R键,KeyCode.T表示T键这样,特殊键查询api :KeyCode。

你可能感兴趣的:(游戏开发相关知识与技巧)