Подтвердить что ты не робот

В libgdx, как я могу получить ввод с помощью кнопки "Назад"?

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

Gdx.input.setCatchBackKey(true);

Но как я могу проверить нажатие кнопки? input.isKeyDown(Keys.BACK), похоже, ничего не делает.

4b9b3361

Ответ 1

Я решил проблему следующим образом:

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

   ...
}

Не копировать вещи, но, надеюсь, это поможет вам.:)

Ответ 2

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

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

Ответ 3

Сначала создайте 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);


Это все есть. Удачи!

Ответ 4

Вы можете использовать Gdx.input.isKeyPressed(Keys.BACK), но если вы хотите, чтобы эта активность не закрывалась, вы можете обрабатывать это как:

Gdx.input.setCatchBackKey(true);