在我的游戏中,当我按下菜单键然后返回游戏时,它会从暂停的位置继续 例如如果我有一个精灵从全屏宽度和高度移动到0,0并且在宽度/ 2和高度/ 2处停止它将从这一点开始,所以其他的东西,如音乐停止然后继续,虽然我暂停没有做什么恢复
我的问题是我应该在屏幕或主要游戏类的pause()
和resume()
内做什么,还是应该将它们留空?
在主要游戏班pause()
和resume()
中,我致电super.pause()
和super.resume()
我正在show()
加载我的资产,如果我这样做的话?
答案 0 :(得分:1)
当您按下主页按钮时,在您再次打开游戏之前,游戏不会呈现。所以你的精灵在同一个位置移动(正在渲染),因为你离开游戏时没有调用reder()
方法,因此不会改变精灵的坐标。
当按下主页按钮或收到来电时,在Android上调用pause()
方法。您可以将此方法留空,或者将您的游戏状态保存到文件中。
当应用程序从暂停状态恢复时,将调用resume()
方法,这意味着如果再次打开它。您也可以将此方法保留为空或例如显示选项菜单,以便用户知道游戏在他退出游戏时暂停了。
有关libgdx应用程序生命周期和状态的更多信息,请查看the official documentation for this。
您可以在应用程序启动时加载资产(也许您应该使用AssetManager)在主类(扩展Game)中,并将assets / AssetManager的引用从主类传递给您实例化的每个新的Screen类。 libgdx wiki中的This link解释了管理资产的行为。