1

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

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

虽然这可行,但在使用多个屏幕时它很糟糕,因为本质上必须一遍又一遍地重写代码。

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

谢谢你的回答,

干杯,

托尼

4

1 回答 1

1

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

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

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

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

于 2014-01-29T21:01:23.810 回答