我发现在恢复游戏后,所有引擎都会重新加载,应用程序也会重新初始化。 我想保存引擎状态并在“onResume”中恢复游戏进程。
我尝试保存所有引擎 (mEngine),然后在“onLoadEngine”中恢复游戏后返回保存的引擎。我认为这是一个糟糕的解决方案,它不起作用
andEngine 中暂停\恢复游戏(例如按下电源键后)的最佳解决方案是什么?
最佳答案
我找到的解决方案是将引擎的状态序列化为JSON并保存为共享存储。 它有很多工作,但它确实节省了它。由于andengine会在暂停后重新初始化你的引擎和纹理,我认为没有太多选择,除非你想为你的游戏重写一些andengine。 (你可以)
在我的 JSON 中,我记录了每个 Sprite 的位置类型速度等。保存内容的复杂性取决于游戏的复杂性。然后我向每个类添加了一个接受 JSON 作为输入的反序列化方法。
作为该方法的脚注,我对令人惊叹的 GSON 库赞不绝口,它使该任务变得更容易。 http://code.google.com/p/google-gson/
但请记住,在恢复游戏时,将恢复的状态设置为暂停,以便用户知道游戏何时重新开始。
关于android - 暂停后保存游戏状态。和引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9020346/