跳到主要内容

快速上手

以下内容旨在快速在您的项目中使用 winS.Unity.Modules.Input。

创建输入模块

想要在项目中使用输入模块,您必须定义一个 winS.Unity.Modules.Input.InputModuleBase 的子类。

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

public class InputModule : InputModuleBase
{
}

添加输入动作

现在我们已经拥有了一个输入模块,想要使用输入,我们需要在模块中定义输入动作。 我们对上文的 InputModule 进行更新:

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

public class InputModule : InputModuleBase
{
public InputActionClick click { get; private set; } = new InputActionClick();

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

在上述代码中,我们在 InputModule 中定义了一个模块内置输入动作 InputActionClick,它可以用于点击的输入检测。

我们它设为静态属性以便可以从 InputModule 直接访问,同时通过覆写 EnableDisable 方法,使模块可以正确控制该输入动作的启用/禁用。

使用输入

现在我们已经拥有了一个带点击的输入模块,我们可以用如下方式监听点击输入:

using UnityEngine;
using winS.Unity.Modules.Input;

public class UseInputExample : MonoBehaviour
{
private void Start()
{
InputModule.click.onClick += OnClick;
}
private void OnDestroy()
{
InputModule.click.onClick -= OnClick;
}

private void OnClick(ScreenPoint screenPoint)
{
Debug.Log($"Click! {screenPoint}");
}
}