在 Android 上处理 Libgdx 应用程序的屏幕

Handling Screens of Libgdx App on Android

这是我处理屏幕的方式

我有 class GameMain extends Game 我在每个屏幕上都创建了它的实例,所以我可以使用类似这样的东西 gameMain.setScreen()

我的问题是如何正确地从一个屏幕移动到另一个屏幕?

我有以下内容:

在 GameMain 中 setScreen(new SplashScreen(this))

在闪屏中我 setScreen(new MenuScreen(this))hide() 中我称其为 dispose() 等等当玩家点击菜单屏幕中的播放按钮时我 setScreen() 到新playScreen 我也在 hide() 中调用 dispose() 并且当他 returns 到 Menu I setScreen(new Menu)

我做错了吗?

我通常做的是在我的主游戏 class 中有一个名为 setPlayScreen() 的函数,在那个方法中我会做类似的事情:

public void setPlayScreen(params){
    //Do something with params
    setScreen(new PlayScreen())
}

如果你的 dispose() 在你的 screens hide() 方法中,你应该没有任何问题。