Unity的InputSystem为什么用不了""path"": ""<Keyboard>/s"",
时间: 2023-12-04 09:41:46 浏览: 92
Unity3d读写格式为<key></key><string></string>类型的xml
Unity的InputSystem不能使用"path": "<Keyboard>/s"是因为该路径是旧输入系统的路径,而新输入系统使用不同的路径格式。新输入系统使用InputAction来处理输入,而不是像旧输入系统那样使用InputManager。要在新输入系统中使用键盘输入,需要创建一个InputAction,并将其绑定到所需的键盘按键上。以下是一个示例代码,演示如何在新输入系统中使用键盘输入:
```csharp
using UnityEngine;
using UnityEngine.InputSystem;
public class Example : MonoBehaviour
{
private InputAction moveAction;
private void OnEnable()
{
moveAction = new InputAction("move", InputActionType.Button, "<Keyboard>/s");
moveAction.Enable();
moveAction.performed += Move;
}
private void OnDisable()
{
moveAction.Disable();
moveAction.performed -= Move;
}
private void Move(InputAction.CallbackContext context)
{
Debug.Log("S键被按下");
}
}
```
在此示例中,我们创建了一个名为“move”的InputAction,并将其绑定到键盘上的“S”键。在启用InputAction后,我们可以使用回调函数来处理按键事件。当“S”键被按下时,将调用Move函数,并输出一条日志消息。
阅读全文