В libgdx, как мне получить вход с кнопки «Назад»?

Для моей игры я хотел бы, чтобы кнопка назад Android переместила вас в меню паузы, вместо того, чтобы минимизировать игру. Из того, что я искал в Google, я знаю, что мне нужно позвонить

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; } ... } 

Не копипасты, но, надеюсь, это поможет вам. 🙂

Вы можете использовать метод Gdx.input.isKeyPressed.

 if (Gdx.input.isKeyPressed(Keys.BACK)){ // Do something } 

Сначала создайте 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), но если вы хотите, чтобы эта активность не закрывалась, вы можете обрабатывать это как:

 Gdx.input.setCatchBackKey(true);