gpt4 book ai didi

java - libgdx 桌面项目正在捕捉返回键

转载 作者:行者123 更新时间:2023-11-29 08:52:04 25 4
gpt4 key购买 nike

我正在使用 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 键?

最佳答案

看起来 BACKMETA_SYM_ON 都有相同的键码 (4)。参见 http://libgdx.badlogicgames.com/nightlies/docs/api/constant-values.html#com.badlogic.gdx.Input.Keys.BACK .

我不确定这些数字从何而来,但我怀疑它们来自底层平台(Android 或 LWJGL),因此重叠可能是不可避免的。

我不确定 META_SYM_ON 对应于什么(ALT 键之一?)所以这可能不相关。但看起来您应该坚持只在相关平台上检查特定于平台的 key (因为不能保证该 key 不是另一个平台上的其他东西)。

关于java - libgdx 桌面项目正在捕捉返回键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22302814/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com