4

我发现在恢复游戏后,所有引擎都被重新加载,应用程序也被重新初始化。我想保存引擎状态并在“onResume”中恢复游戏进程。

我试图保存所有引擎(mEngine),然后在“onLoadEngine”中恢复游戏后返回保存的引擎。我认为这是一个糟糕的解决方案,它不起作用

在 andEngine 中暂停\恢复游戏(例如按下电源键后)的最佳解决方案是什么?

4

1 回答 1

3

我找到的解决方案是将引擎的状态序列化为 JSON 并将其保存为共享存储。它的工作量很大,但它确实节省了它。由于andengine会在暂停后重新初始化你的引擎和纹理,所以我认为没有太多选择,除非你想为你的游戏重新编写一些andengine。(你可以)

在我的 JSON 中,我记录了每个精灵的位置类型速度等。保存内容的复杂性取决于游戏的复杂性。然后我为每个类添加了一个反序列化方法,该方法接受 JSON 作为输入。

作为该方法的一个脚注,我不能高度评价令人惊叹的 GSON 库以使其成为一项更容易的任务。http://code.google.com/p/google-gson/

但请记住,在恢复游戏时,将恢复状态设置为暂停,以便用户知道游戏何时重新开始。

于 2012-01-31T01:33:38.463 回答