这是一个悬而未决的问题。
我正在为 android 开发一个简单的游戏,我已经到了尝试让用户保存他们的进度并稍后返回的地步。
因为我是初学者,所以我不确定从哪里开始,所以我希望你们中的一些人至少可以提供一些建议。
关于游戏设置的一些信息:
所有动画都是在一个线程中通过 Canvas 和基于 30 毫秒循环的存储位图帧交替完成的。
一切都是对象,人物,背景只是一个二维对象数组。每个对象一般都是通过hashmap动态引用和创建的。
现在如何保存?我知道我可以暴力破解它,并简单地为每个 map 中的每个对象保存坐标和当前操作等等。
但是有更好的方法吗?我已经简要地读到,在 python 中有一种称为“pickle”的对对象进行 sanitizer 的方法,还有一种类似的方法称为“kryo”。我的方向是否正确?
最佳答案
你应该看看 Java serialization .它并不完美,它有问题,但它是将复杂的对象树转换为可以保存到文件或数据库并在需要时加载回来的东西的最安全、最快捷的方法。
否则,总是有可能通过 INSERT
SQL 查询等使用您自己的特定序列化。但是要非常小心,很容易遗漏您想要保存/恢复的部分内容。其中一个示例是将您的对象树转换为 XML 并将该 XML 保存为一个文件。有非常好的第 3 方库可以将对象映射到 XML 并在 Java 中返回。
关于java - 保存游戏(Android 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082867/