当游戏窗口未使用 Unity 输入系统聚焦时,如何避免输入检测?

问题描述

我正在使用 Unity 2020.1.3f 和 Input System 1.0.2 创建一个简单的多人赛车游戏,其中包含 MLAPI 0.1.0,但是每当我在构建游戏实例后启动它并取消聚焦窗口时,它仍然会检测到我的游戏手柄输入(不使用键盘),但是当我在 Unity 的游戏视图中玩游戏并取消聚焦编辑器时,它不再检测到输入。我可以做些什么来仅在窗口聚焦时检测我的游戏手柄输入?

解决方法

您可以使用 Unity 事件函数 OnApplicationFocus(bool) (Docs) 或通过使用 Application.isFocused (Docs) 检查当前焦点状态来检测失去焦点。然后在你的输入逻辑中忽略游戏手柄输入,如果焦点是 false