For my game, I'd like the Android back button to take you to the pause menu, instead of minimizing the game. From what I've googled, I know I need to call
Gdx.input.setCatchBackKey(true);
But how do I actually check for the button press? input.isKeyDown(Keys.BACK) doesn't seem to do anything.
I solved the problem like this:
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; } ... }
Not copypasta stuff but hopefully this helps you out. :)
You can use Gdx.input.isKeyPressed method.
if (Gdx.input.isKeyPressed(Keys.BACK)){ // Do something }
First create an InputProcessor to handle the back key actions and then add it to a multiplexer so that other components still receive similar events.
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);
And enable catching the back key.
Gdx.input.setCatchBackKey(true);
That's all there is. Good luck!
You can use Gdx.input.isKeyPressed(Keys.BACK) but if you want that Activity does not closes you can handle this as:
Gdx.input.setCatchBackKey(true);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With