在Libgdx中暂停和恢复

时间:2016-08-07 12:49:44

标签: android libgdx

在我的游戏中,当我按下菜单键然后返回游戏时,它会从暂停的位置继续 例如如果我有一个精灵从全屏宽度和高度移动到0,0并且在宽度/ 2和高度/ 2处停止它将从这一点开始,所以其他的东西,如音乐停止然后继续,虽然我暂停没有做什么恢复

我的问题是我应该在屏幕或主要游戏类的pause()resume()内做什么,还是应该将它们留空?

在主要游戏班pause()resume()中,我致电super.pause()super.resume()

我正在show()加载我的资产,如果我这样做的话?

1 个答案:

答案 0 :(得分:1)

当您按下主页按钮时,在您再次打开游戏之前,游戏不会呈现。所以你的精灵在同一个位置移动(正在渲染),因为你离开游戏时没有调用reder()方法,因此不会改变精灵的坐标。

当按下主页按钮或收到来电时,在Android上调用pause()方法。您可以将此方法留空,或者将您的游戏状态保存到文件中。

当应用程序从暂停状态恢复时,将调用resume()方法,这意味着如果再次打开它。您也可以将此方法保留为空或例如显示选项菜单,以便用户知道游戏在他退出游戏时暂停了。

有关libgdx应用程序生命周期和状态的更多信息,请查看the official documentation for this

您可以在应用程序启动时加载资产(也许您应该使用AssetManager)在主类(扩展Game)中,并将assets / AssetManager的引用从主类传递给您实例化的每个新的Screen类。 libgdx wiki中的This link解释了管理资产的行为。