我发现在恢复游戏后,重新加载所有引擎并重新初始化应用程序。 我想保存引擎状态,并在“onResume”恢复游戏进程。
我试图保存所有引擎(mEngine),然后在“onLoadEngine”恢复游戏后返回保存的引擎。我认为这是一个糟糕的解决方案,它不起作用
在andEngine中暂停\恢复游戏(例如按下电源键后)的最佳解决方案是什么?
答案 0 :(得分:3)
我发现的解决方案是将引擎状态序列化为JSON并将其另存为共享存储。 它做了很多工作,但确实可以保存它。由于anndngine会在暂停后重新启动引擎和纹理,我认为没有太多选择,除非你想为你的游戏重新编写一些引擎。 (你可以)
在我的JSON中,我记录每个精灵的位置类型速度等。保存的复杂性取决于游戏的复杂程度。然后在每个类中添加了一个deserialize方法,该方法接受JSON作为输入。
作为该方法的一个注脚,我不能说出令人惊讶的GSON库,因为它使这个任务变得更容易。 http://code.google.com/p/google-gson/
但是在恢复游戏时需要记住,将恢复的状态设置为暂停,以便用户知道游戏何时重新开始。