在用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);
无效。
答案 0 :(得分:2)
使用isKeyPressed
代替isButtonPressed
。按钮仅指桌面游戏上的三个鼠标按钮。 Android上的所有内容都是Key(或Peripheral)。
你提到了#34;主页按钮"但您发布的代码是菜单按钮。没有办法抓住主页按钮,除非你让你的清单宣布你的应用程序作为启动器更换,在这种情况下,主页按钮将始终打开你的应用程序,即使它已关闭,用户将没有轻松的方式进入主屏幕。并且libgdx没有内置的功能,因为那会很奇怪。您必须自己在清单和主要活动中实现它。
此外,处理this
,无论this
是什么,从输入处理程序中听起来都很危险。你可能会渲染东西并导致崩溃。但我不确定你在哪里尝试使用它。也许没关系。