Unity提供了一个强大易用的类Input,它可以处理鼠标,键盘,摇杆/方向杆/手柄等外设的输入信息,也可以处理Andirod/IOS等移动设备的触摸输入信息。
需要注意的是:所有输入信息的更新是在Updata中完成的,处理信息相关的代码应该放入Updata中
Input类成员变量
Input类成员函数
自定义输入:
创建虚拟按键方法:Edit->Project Settings->Input 打开如图
float h2 = Input.GetAxis("Horizontal"); //获得方向 左边取1,右边取-1,当按下按键时,数值会逐渐从 0 向一端变化,实现渐变的效果,而不会显得突兀。(如汽车启动)
float v2 = Input.GetAxis("Vertical");
rig.AddForce(new Vector3(h2, 0, v2) * speed);
Unity自带18个输入轴,每个输入轴因为参数的不同功能不同,
可以通过size参数来设置输入轴的数量。
Name:【按键名】该键的名称,可以在脚本编程中直接引用他。比如:Input.GetAxis("Horizontal");
Descriptive Name:【描述名】在游戏的独立机构中的配置对话框中,当控制值为正时候所显示的名称。默认空白。
Negative Descriptive Name:【负描述】在游戏的独立机构中的配置对话框中,当控制值为负的时候所显示的名称。
Nagative Button:【负向按钮】玩家按下这个按钮来让被控制物体向负方向运动。
Positive Button:【正向按钮】玩家按下这个按钮让被控制物体向正方向运动。
Alt Negative Button: 玩家可以使用的备选负向按钮,比如方向键和WASD
Alt Positive Button:玩家可以使用的备选争相按钮。
Gravity:【重力】如果玩家停止输入,该轴将恢复到空挡或0速度,其单位为单位每秒。
Dead:【盲区】可以用在模拟控制。在模拟控制器上,在这个范围内的任何值都会映射到空档不会提供任何输入。
Sensitivity:【灵敏度】可以用于数字控制,他是该轴向给定得值移动的速度。正负都可,单位为单位每秒。
Snap:【对齐】如果选中,可以确保在同时按下正向和负向按钮时候该轴的值为空挡。
Invert:【反转】迅速交换正向和负向控制键。
Descriptive Name:【描述名】在游戏的独立机构中的配置对话框中,当控制值为正时候所显示的名称。默认空白。
Negative Descriptive Name:【负描述】在游戏的独立机构中的配置对话框中,当控制值为负的时候所显示的名称。
Nagative Button:【负向按钮】玩家按下这个按钮来让被控制物体向负方向运动。
Positive Button:【正向按钮】玩家按下这个按钮让被控制物体向正方向运动。
Alt Negative Button: 玩家可以使用的备选负向按钮,比如方向键和WASD
Alt Positive Button:玩家可以使用的备选争相按钮。
Gravity:【重力】如果玩家停止输入,该轴将恢复到空挡或0速度,其单位为单位每秒。
Dead:【盲区】可以用在模拟控制。在模拟控制器上,在这个范围内的任何值都会映射到空档不会提供任何输入。
Sensitivity:【灵敏度】可以用于数字控制,他是该轴向给定得值移动的速度。正负都可,单位为单位每秒。
Snap:【对齐】如果选中,可以确保在同时按下正向和负向按钮时候该轴的值为空挡。
Invert:【反转】迅速交换正向和负向控制键。
Type:【类型】该键对应的输入设备类型。可以为Key,MouseButton,MouseMove,JoystickAxis,或Window Movement。
Axis:【轴】这个控制方式有该输入设备的哪条轴指挥。这可受不同游戏手柄影响。
JoyNum:【操作杆编号】多个操作杆在机器上市后,决定哪个哪个操作杆控制给定的轴。可以选择从所有的操作杆接受输入,或是为其制定一个特定的。