在libgdx中,如何从后退按钮获取输入?
问题描述:
对于我的游戏,我希望Android后退按钮带您进入暂停菜单,而不是最小化游戏。从我google搜索,我知道我需要拨打在libgdx中,如何从后退按钮获取输入?
Gdx.input.setCatchBackKey(true);
但我怎么实际检查按钮按? input.isKeyDown(Keys.BACK)似乎没有做任何事情。
答
我解决了这样的问题:
public class MyApplication implements ApplicationListener, InputProcessor {
// !! Remember to override all other required methods !!
...
@Override
public void create() {
Gdx.input.setInputProcessor(this);
Gdx.input.setCatchBackKey(true);
// rest of your stuff...
}
...
@Override
public boolean keyDown(int keycode) {
if(keycode == Keys.BACK){
// Do your optional back button handling (show pause menu?)
}
return false;
}
...
}
不copypasta的东西,但希望这可以帮助你。 :)
答
您可以使用Gdx.input.isKeyPressed方法。
if (Gdx.input.isKeyPressed(Keys.BACK)){
// Do something
}
答
您可以使用Gdx.input.isKeyPressed(Keys.BACK),但如果你想要的活动不关闭,你可以处理这个为:
Gdx.input.setCatchBackKey(true);
答
首先创建一个InputProcessor处理后退键操作,然后将其添加到多路复用器,以便其他组件仍然收到类似的事件。
InputProcessor backProcessor = new InputAdapter() {
@Override
public boolean keyDown(int keycode) {
if ((keycode == Keys.ESCAPE) || (keycode == Keys.BACK))
// Maybe perform other operations before exiting
Gdx.app.exit();
return false;
}
};
InputMultiplexer multiplexer = new InputMultiplexer(mStage,
backProcessor);
Gdx.input.setInputProcessor(multiplexer);
而且能够捕捉返回键。
Gdx.input.setCatchBackKey(true);
这是所有有。祝你好运!
+0
不当键盘被激活,虽然工作。 –
会试试这个!非常感谢你! –
我宁愿做这在我的屏幕类,它会给我更好的控制 – basilisk
如果你要处理它的屏幕, http://gamedev.stackexchange.com/questions/114972/handling-back-button-in -Android - 没有 - 实施 - inputprocessor/114985#114985 – kingAm