在libgdx中,如何从后退button获取input?
对于我的游戏,我希望Android后退button带你进入暂停菜单,而不是最小化游戏。 从我所search到的,我知道我需要打电话
Gdx.input.setCatchBackKey(true);
但是,我怎样才能真正检查button按? 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; } ... }
不是copypasta的东西,但希望这可以帮助你。 🙂
您可以使用Gdx.input.isKeyPressed方法。
if (Gdx.input.isKeyPressed(Keys.BACK)){ // Do something }
首先创build一个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),但是如果你希望那个Activity不closures,你可以像下面这样处理:
Gdx.input.setCatchBackKey(true);