在libgdx中,如何从后退button获取input?

对于我的游戏,我希望Android后退button带你进入暂停菜单,而不是最小化游戏。 从我所search到的,我知道我需要打电话

Gdx.input.setCatchBackKey(true); 

但是,我怎样才能真正检查button按? 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 } 

首先创build一个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); 

这就是全部。 祝你好运!

你可以使用Gdx.input.isKeyPressed(Keys.BACK),但是如果你希望那个Activity不closures,你可以像下面这样处理:

 Gdx.input.setCatchBackKey(true);