【Unity学习日记】input system新输入系统

目录

一、导入Input System包

二、在代码中去引用或读取【输入】的相关状态

读取方法1 根据不同的输入设备需求,选择不同的对象进行监听

读取方法2 实例化动作集,并为该动作集添加对应的监听事件

读取方法3 通过输入操作间接获取输入

读取方法4 通过绑定对应的 ActionReference,可以在代码中获取该Reference下的Action,以及状态跟踪和添加监听

总结


一、导入Input System包

打开包管理器,在包:Unity注册表 搜索Input System点击安装重启unity

如果Unity版本不支持新版的InputSystem, 则可以通过 Manager中添加相关模块,操作如下:

设置 编辑->项目管理->Player->活动输入处理,这里建议选择“两个”或者选择“输入系统包(新)”

二、在代码中去引用或读取【输入】的相关状态

读取方法1 根据不同的输入设备需求,选择不同的对象进行监听

注意 需要使用UnityEngine.InputSystem命名空间。

常用的输入设备:

  • 手柄——>Gamepad类(Gamepad.current获取当前手柄)
  • 键盘——>Keyboard类(Keyboard.current获取当前键盘)
  • 鼠标——>Mouse类(Mouse.current获取当前鼠标)

手柄输入如下

using UnityEngine;
using UnityEngine.InputSystem;

public class MyPlayerScript : MonoBehaviour
{
    void Update()
    {
        //获取当前Gamepad
        var gamepad = Gamepad.current;
        //gamepad为空则代表没有Gamepad连接
        if (gamepad == null)
            return; 
        if (gamepad.rightTrigger.wasPressedThisFrame)
        {
            // 此处输入事件代码
        }
        //获取左摇杆的方向
        Vector2 move = gamepad.leftStick.ReadValue();
        // 此处输入移动代码
    }
}

键盘输入如下 

using UnityEngine;
using UnityEngine.InputSystem;

public class MyPlayerScript : MonoBehaviour
{
    void Update()
    {
        
            var keyboard = Keyboard.current;
            if (keyboard == null)
            {
                return;
            }
          
            if (keyboard.spaceKey.isPressed)
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值