libgdx:使用后退键转到上一屏幕的优雅方式

时间:2014-01-29 18:55:34

标签: android libgdx screens

我正在使用带有多个屏幕的libGdx。我想使用我的Android设备上的后退键回到上一个屏幕,类似于android默认情况下如何回到上一个活动。

我目前的做法是让每个屏幕都能获得调用它的屏幕。然后我将在每个屏幕中实现InputProcessor并使用它来接收按键,然后将屏幕更改为之前显示的屏幕。

虽然这样可行,但在处理多个屏幕时很糟糕,因为基本上必须一遍又一遍地重写代码。

有谁知道更优雅的方式实现这一目标? libGdx默认情况下甚至可能有这个功能,我只是找不到它?或者我需要这样做。

谢谢你的回答,

干杯,

1 个答案:

答案 0 :(得分:1)

  

我目前的做法是让每个屏幕都能获得调用它的屏幕。然后我将在每个屏幕中实现InputProcessor并使用它来接收按键,然后将屏幕更改为之前显示的屏幕。

我就是这样做的。我没有看到任何其他更优雅的解决方案。你必须在每个屏幕上重写的代码是最小的:

switch(keycode){
    ...
    case Keys.BACK:
        game.setScreen(previousScreen);
        return true;
}

(游戏是你的ApplicationListener,previousScreen是调用当前屏幕的屏幕,keycode是在InputListener的keydown / up方法中给出的int)