如何处理输入处理

时间:2015-03-28 19:55:37

标签: java input libgdx

我目前正在尝试使用scene2d在Libgdx中构建一个“选项”菜单,并试图找到一种如何处理用户输入的方法。

我想在按下android上的后退键时实现回到mainmenu,但是我不知道怎么做,因为其余的输入(按下按钮)将由我的舞台处理。 / p>

如果您对如何解决此问题以及如何正确处理用户输入有任何疑问,请回复。我没有包含任何代码,因为这更多是关于如何处理它,而不是我的代码中的实际问题。

谢谢, 的Valentin

1 个答案:

答案 0 :(得分:1)

您需要创建一个InputProcessor并实现其方法,因为后退键与舞台分离,所以无法解决这个问题。您还需要一种从InputProcessor访问主菜单对象的方法;假设您正在使用游戏和屏幕,这是一种方法:

public class OptionsScreen implements Screen, InputProcessor {
    final MyGame game;
    public OptionsScreen(MyGame game) { this.game = game; }
    ...
    @Override
    public boolean keyUp(int keycode) {
        if(keycode == Keys.BACK) {
            game.setScreen(game.mainScreen);
            return true;
        }
        return false;
    }
    ...
}

其中game.mainScreen是主菜单的屏幕。它也可以是新创建的实例。当然,您还必须先启用后退键才能通过Gdx.input.setCatchBackKey(true);捕获它。

我希望这能回答你的问题。