键盘输入在libgdx android中不起作用

时间:2013-11-10 19:46:21

标签: java android libgdx

我现在已经有这个问题大约2周了。我正在制作一个基于文本的游戏,需要你输入。但是,我使用自己的输入系统,而不是LIBGDX的文本字段,长话。基本上我需要的是

if(Gdx.input.isKeyPressed(Keys.a)){
      //do some stuff
   }

这。然而,这不适用于Android,但在桌面上工作正常。我不确定为什么会这样,它开始惹恼我。我发现的一件事是,如果你连续按下Android上的一个键,它最终会输入它,但这会让游戏变得非常繁琐。我也尝试过使用InputProcessor,但这也不起作用。我现在尝试了几乎没有解决方案我能想到的一切。非常感谢任何帮助

编辑1:

我也尝试过InputProcessor。与此相关的是,它在按键时没有做任何事情,但是当我按下Androids硬件时,它会按照最初按下按键时应该做的事情。同样使用这两种方法我发现它适用于某些键盘而不是其他键盘。 EG:适用于HTC感应键盘

编辑2: 随着一点点摆弄,我发现如果我让应用程序在InputProcessor的keyIsTyped方法下做某事,它只在键盘关闭后才能完成。不确定这是否意味着什么

1 个答案:

答案 0 :(得分:1)

您正在进行基于投票的输入,我认为通过基于事件的结构可以提供更好的服务。通过轮询,您只会在按下键时检查按键是否被按下(基于刷新率),基于事件,您将收到每个按键发生的事件,无论何时发生,而且无论多快。

请参阅https://github.com/libgdx/libgdx/wiki/Event-handling

如果您遇到以某种方式获取键盘事件的问题,请发布另一个问题!