Unity3D 游戏构建中没有键盘输入

Posted

技术标签:

【中文标题】Unity3D 游戏构建中没有键盘输入【英文标题】:No keyboard input in Unity3D game builds 【发布时间】:2013-04-21 20:07:31 【问题描述】:

我正在使用 Unity3D,但在“构建”项目时遇到了键盘问题。

当我在 Unity 编辑器中运行游戏时,输入工作正常。但是,当我构建项目并对其进行测试时,我没有任何方向输入。鼠标工作正常,游戏注册击键(Esc 键工作),但玩家不会移动。

我正在使用Input.GetAxisRaw("Vertical")Input.GetAxisRaw("Horizontal")

我在网上研究了这个问题,但我仍然卡住了。我发现的唯一解决方案(在各种链接中)提到了 DirectInput 的一个问题,并指出您应该从 Windows 注册表中的 [HKEY_CURRENT_USER\Software\Unity\Player] 中删除键“Input”,但这似乎对我不起作用。

还有其他人解决过这个问题吗?任何可行的解决方案?我做错注册表了吗?

【问题讨论】:

如果您在不同的机器上构建并运行它,您是否会遇到同样的问题? 【参考方案1】:

您应该在编辑->项目设置->输入中检查输入管理器。您是否尝试过使用 GetAxis 而不是 GetAxisRaw?我还建议使用,例如:Input.GetKey(KeyCode.A) 等。

【讨论】:

我尝试了 GetAxis 和 GetAxisRaw。如果我无法解决此问题,我计划使用您建议的方法,使用 GetKey。【参考方案2】:

我已经弄清楚是什么困扰了我。

Input.GetAxisRaw("Vertical")Input.GetAxisRaw("Horizontal") 一直都很好。不知何故,脚本中有一些代码在编辑器中运行得很好,但是当作为独立运行时给我一个等于 0 的计算(它取决于 Delta Time,所以我假设运行编译时的 Delta Time 要小得多比在 Unity 编辑器中运行时),因此角色根本没有移动。

【讨论】:

以上是关于Unity3D 游戏构建中没有键盘输入的主要内容,如果未能解决你的问题,请参考以下文章

用户输入- Unity3D游戏开发培训

unity3d的键盘和鼠标输入

在 C# 中模拟键盘输入

Mac OS X 游戏如何接收低级键盘输入事件?

Unity3d C# 实现UGUI 输入框调用软键盘输入的完整功能(含工程源码,适用触屏一体机等)

为啥玩游戏时输入语言键盘很久都不弹出来,弹出后又自动收回