我目前正在尝试使用scene2d在Libgdx中构建一个“选项”菜单,并试图找到一种如何处理用户输入的方法。
我想在按下android上的后退键时实现回到mainmenu,但是我不知道怎么做,因为其余的输入(按下按钮)将由我的舞台处理。 / p>
如果您对如何解决此问题以及如何正确处理用户输入有任何疑问,请回复。我没有包含任何代码,因为这更多是关于如何处理它,而不是我的代码中的实际问题。
谢谢, 的Valentin
答案 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);
捕获它。
我希望这能回答你的问题。