虚拟轴
�认识
把不同设备的输入映射到虚拟轴中,简化了编程的模型。
输入管理器
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××系列用于真实的键盘和鼠标的检测