在LibGdx应用程序上切换屏幕之间的屏幕

时间:2015-10-30 09:13:03

标签: java android libgdx screen render

我是libgdx的新手,这是我的第一个应用程序,但我遇到屏幕切换问题。

我已经设置了这样的主要类:

public class MyClass extends Game {
    MenuClass menuClass;
    ActionGame actionGame;


@Override
public void create() {
        menuClass = new MenuClass(this);
        actionGame = new ActionGame(this);
        setScreen(actionGame);
    }
}

和ActionGame类的方法如下:

....
@Override
public void pause() {
    game.setScreen(game.menuClass);
}

@Override
public void resume() {
    this.show();
    this.render(Gdx.graphics.getDeltaTime());
}
....
像这样的

和menuClass.java的方法,当触摸播放按钮时:

....
@Override
public void resume() {
    game.actionGame.resume();
}
....

当我触摸播放按钮时,我希望actionGame类返回动作渲染,但渲染不会启动。 我已尝试使用setScreen,但这会重启我的屏幕,这不太好。 帮助

由于

1 个答案:

答案 0 :(得分:0)

您错误地使用了resume。当您的应用程序返回到屏幕时,它总会被调用。您不应该自己在任何课程上致电resume()。当您的应用程序返回到前台时,它会被Libgdx调用。

你应该切换到pause方法中的菜单屏幕是正确的,因为游戏玩家希望游戏在应用程序离开屏幕时自动转到菜单或暂停屏幕。但是,当应用程序重新登录屏幕时,您不希望自动切换回游戏。

resume方法仅用于重新加载您在pause中卸载的内容(您可能不需要这样做),或重新启动音乐等等。

您的播放按钮绝对不应该调用resume。它应该是setScreen(actionGame);。您目前设计的任何resume方法都不应该有任何内容。