Unity的新按键输入系统
前言
这是 Unity 新输入系统(input system)的简要笔记。
官方文档地址:Input System | Input System | 1.5.1
Actions
Action Type
- Value 类型:每次值改变的时候触发
OnAction
报告值;适用于追踪持续改变状态的输入。 - Button 类型:每次按下的时候触发;
- Passthrough 类型:看文档意思是一种冲突解决方案:对所有的控制类型都会响应。
因此,一次按下松开会使 Value 类型调用两次 OnAction,但是只会调用一次 Button 或 Passthrough。
检查 Action 的状态(委托与轮循)
可以使用下列三个 Action————此处 Action 是指一参无返的委托,不是 InputAction:
action.started
action.performed
action.canceled
也可以使用下列函数进行轮循:
-
对于 value 类型:
action.ReadValue<T>()
action.PerformedThisFrame()
-
对于 Button 类型:
action.IsPressed()
action.WasPressedThisFrame()
action.WasReleasedThisFrame