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

三世轮回 提交于 2019-11-28 04:19:49

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);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!