【发布时间】:2014-09-03 01:30:24
【问题描述】:
在我使用 libGDX v1.3.1 设置我的新项目后,我遇到了一些应该很容易的事情。在我扩展游戏的主要课程中,我有:
Gdx.input.setCatchBackKey(true);
但我无法得到任何响应(在渲染方法中):
if(Gdx.input.isButtonPressed(Keys.BACK)){
this.dispose();
}
虽然我可以看到在 logCat 控制台中按下了按钮。
我需要提一下,在 libGDX 版本 1.0.0(或第一个带有 gradle 的版本)之前,我一直在使用完全相同的代码。
注意:我也尝试过实现 InputProcessor,然后设置输入处理器。结果是一样的。
对于主页按钮:使用 Gdx.input.setCatchMenuKey(true); 不起作用。
【问题讨论】:
-
只是为了确认一下:1) 同样的代码对你的 libgdx 1.0 有效吗? 2)您确定没有调用“this.dispose()”(您是否在
isButtonPressed案例中添加了日志语句?)。请参阅stackoverflow.com/questions/15501703/…(setInputProcessor和setCatchBackKey的顺序很重要。 -
1.是的,这确实有效(在没有 gradle 的旧版本中,在第一个有 gradle 的版本中)。 2、this.dispose()没有问题;因为 if(Gdx.input.isButtonPressed(Keys.BACK)) 从未激活。我已经把 System.out.println("working");只需确定方法 ghets 是否已激活。但什么都没有。 3. 我设置输入处理器与否无关紧要。 if(keycode == Keys.BACK){ 或 if(Gdx.input.isButtonPressed(Keys.BACK)){ 永远不会被调用。
标签: libgdx