您的位置:首页 > 移动开发 > Unity3D

Unity学习之输入与控制

2017-09-23 01:08 162 查看
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:【反转】迅速交换正向和负向控制键。

Type:【类型】该键对应的输入设备类型。可以为Key,MouseButton,MouseMove,JoystickAxis,或Window Movement。

Axis:【轴】这个控制方式有该输入设备的哪条轴指挥。这可受不同游戏手柄影响。

JoyNum:【操作杆编号】多个操作杆在机器上市后,决定哪个哪个操作杆控制给定的轴。可以选择从所有的操作杆接受输入,或是为其制定一个特定的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: