【发布时间】:2014-03-10 14:23:16
【问题描述】:
我正在使用 libgdx 制作游戏。在游戏的 android 版本中,我想抓住后退键并暂停游戏。在桌面版本中,我想抓住退出键来暂停游戏。
我在之前的游戏中通过在基础项目中同时捕获转义键和返回键(没有特定于平台的代码)来完成此操作。所以相关代码没有太多可展示的:
Gdx.input.setInputProcessor(mStage);
Gdx.input.setCatchBackKey(true);
if(Gdx.input.isKeyPressed(Keys.BACK) || Gdx.input.isKeyPressed(Keys.ESCAPE) )
{
mPaused = true;
}
我遇到的问题是我的游戏桌面版有时似乎卡住了暂停。当上述条件卡住时在上面设置断点,我发现条件的Gdx.input.isKeyPressed(Keys.BACK) 部分始终为真。
起初我以为这只是在我按 Escape 时才发生,但似乎我可以按任何键,最终会导致 BACK 按钮卡住(即第一次按下它不会卡住,但是10-15 次按键后,任何键都会卡住)。
从我用 libgdx 搜索的内容来看,我认为 BACK 键是专门用于 android 的,并且没有用于 PC 的等效按钮。
我知道我可以很容易地修改代码,所以桌面版本只能捕获退出按钮,但我更感兴趣的是为什么会发生这种情况。
什么会导致 libgdx 在 PC 上捕获 BACK 键?
【问题讨论】:
标签: java android libgdx desktop