跳到主要内容

输入动作

输入动作是对 UnityEngine.InputSystem.InputAction 的代码抽象。 使用 InputAction 可以使您无需维护 Input Action Asset。

内置的输入动作

以下是扩展包内置的输入动作。

功能支持类型
点击InputActionClick
拖拽InputActionDrag
缩放InputActionZoom
指针(按下、抬起)InputActionPointer
指针(多次点击)InputActionPointerTap
指针(按住)InputActionPointerHold

自定义输入动作

若内置的输入动作无法满足您的需求,您可以随时自定义一个输入动作。

假设您的项目需要一个名为 Confirm 的输入表示"确认"操作,您希望用键盘上的 "F" 键表示此输入。

您可以定义如下类型:

Confirm.cs
using winS.Unity.Modules.Input;

public class Confirm : InputActionButton
{
public Confirm()
{
AddBinding("<Keyboard>/f");
}
}

在上述代码中,我们创建了一个继承自 winS.Unity.Modules.Input.InputActionButton 的类型 Confirm。 这表明此输入是一个Button。然后我们在构造函数里添加了对键盘 "F" 键的绑定(绑定语义基于 UnityEngine.InputSystem)。

紧接着,我们可以像其它输入动作一样,将其作为属性定义在您的输入模块中。

InputModule.cs
using winS.Unity.Modules.Input;

public class InputModule : InputModuleBase
{
public static Confirm confirm { get; private set; } = new Confirm(); //您定义的"确认"输入
public static InputActionClick click { get; private set; } = new InputActionClick();

public override void Enable()
{
base.Enable();
click.Enable();
confirm.Enable();
}
public override void Disable()
{
base.Disable();
click.Disable();
confirm.Disable();
}
}