我还有另一个问题。
所以我试图让用户输入在选项菜单上工作。为此我得到了: 舞台和舞台 2.额外的Inputadapter
我需要额外的Inputadapter来捕获Android上的BACK键。所以我使用了Inputmultiflexer,它允许我使用两个输入处理器。
InputMultiplexer multiplexer = new InputMultiplexer();
multiplexer.addProcessor(this);
multiplexer.addProcessor(stage);
Gdx.input.setInputProcessor(multiplexer);
Gdx.input.setCatchBackKey(true);
我检查BACK按钮的方法如下所示:
@Override
public boolean keyUp(int keycode){
if(keycode == Input.Keys.ESCAPE || keycode == Input.Keys.BACK){
new MenuScreen(game);
return true;
}
return false;
}
问题:它根本不起作用。当使用Android上的Back键或桌面上的Escape键时,它不会返回。按下按钮时控制台唯一打印的是:
加载非默认设备的KCM可能会产生意外结果
说实话,我不知道它的意思是什么,谷歌也没有帮助我。
那么我该如何让它发挥作用呢?
答案 0 :(得分:1)
首先在调试时,你应该使用类似的东西:
System.out.println("back was pressed");
如果您在控制台中看到该输出,那么您知道输入正在运行。如果这样做,我看到你的代码唯一的问题是你可能已经创建了一个新的屏幕类,你从来没有让它切换屏幕。我注意到你传入游戏对象,所以你应该有这样的东西:
game.setScreen(new MenuScreen(game));
希望这有帮助。