输入动作
输入动作是对 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();
}
}