目录
读取方法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)