我正在使用带有多个屏幕的libGdx。我想使用我的Android设备上的后退键回到上一个屏幕,类似于android默认情况下如何回到上一个活动。
我目前的做法是让每个屏幕都能获得调用它的屏幕。然后我将在每个屏幕中实现InputProcessor并使用它来接收按键,然后将屏幕更改为之前显示的屏幕。
虽然这样可行,但在处理多个屏幕时很糟糕,因为基本上必须一遍又一遍地重写代码。
有谁知道更优雅的方式实现这一目标? libGdx默认情况下甚至可能有这个功能,我只是找不到它?或者我需要这样做。
谢谢你的回答,
干杯,
贝
答案 0 :(得分:1)
我目前的做法是让每个屏幕都能获得调用它的屏幕。然后我将在每个屏幕中实现InputProcessor并使用它来接收按键,然后将屏幕更改为之前显示的屏幕。
我就是这样做的。我没有看到任何其他更优雅的解决方案。你必须在每个屏幕上重写的代码是最小的:
switch(keycode){
...
case Keys.BACK:
game.setScreen(previousScreen);
return true;
}
(游戏是你的ApplicationListener,previousScreen是调用当前屏幕的屏幕,keycode是在InputListener的keydown / up方法中给出的int)