3

在安卓中。我实现了一个 InputProcessor 并且:

@override public boolean keyDown(int keycode)

当我按 Escape 时,没有检查任何键并且应用程序退出。如何检查 Escape 键?

ps:在PC/MAC中,我可以直接勾选Escape,就可以了。

4

2 回答 2

3

这对我有用:

public boolean keyDown(int keycode){
switch (keycode){
    case Keys.ESCAPE:
        Gdx.app.log("Monles", "ESC pressed");
        break;
    ...

此外,当我按 ESCAPE 时,我的应用程序不会退出,但如果你这样做,这可能会解决它:

Gdx.input.setCatchBackKey(true);
于 2013-11-14T02:28:35.967 回答
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);


这就是全部。祝你好运!

于 2013-11-18T10:06:12.713 回答