In libgdx, how do I get input from the back button?

后端 未结 4 1798
遇见更好的自我
遇见更好的自我 2020-12-08 00:47

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

         


        
相关标签:
4条回答
  • 2020-12-08 00:49

    You can use Gdx.input.isKeyPressed method.

    if (Gdx.input.isKeyPressed(Keys.BACK)){
      // Do something
    }
    
    0 讨论(0)
  • 2020-12-08 00:49

    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);
    
    0 讨论(0)
  • 2020-12-08 00:59

    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. :)

    0 讨论(0)
  • 2020-12-08 01:11

    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!

    0 讨论(0)
提交回复
热议问题