将游戏状态保存到文件

时间:2016-06-06 19:15:22

标签: java file-io libgdx kryo

我现在正处于需要保存当前游戏状态的地步。 我正在使用libGDX并且确实将kryo lib添加到我的项目中并进行了一些测试。

问题:

  • 我是否必须在每次保存时覆盖该文件,或者我只能覆盖从一个班级更改的咬伤。

  • 如果我要保存游戏,我是否必须创建一个新的OutputStream? (比如每5分钟保存一次游戏)

  • 我想创建要保存的当前实体,我应该为所有文件创建一个文件,还是为每个实体创建一个文件?

1 个答案:

答案 0 :(得分:0)

的Dario,

  

我是否必须在每次保存时覆盖该文件,或者我是否只能覆盖该文件   从一个班级改变的叮咬。

您不必,但应该(在每次保存时创建一个新的保存文件)。没有理由过分复杂化。

  

如果我想玩游戏,我是否必须创建一个新的OutputStream   被救了? (比如每5分钟保存一次游戏)

再次,为什么担心?如果您重复使用OutputStream或创建新的OutputStream,则每5分钟保存一次,您不会发现任何差异(除了您的编码时间和浪费的努力)。创建一个新的。

  

我想要创建要保存的当前实体   为所有或每个实体创建一个文件文件?

取决于什么是有道理的以及这些"实体"是。在任何情况下,为了保存实体,您需要对其进行序列化,这只是一种说法在文本中创建它的表示方式。要加载实体,请反转该过程(反序列化)。学习如何执行此操作的最简单方法是创建一个JSONObject(library here)。将实体中的值放入JSONObject并将其转换为文本,调用JSONObject.toString()。要反序列化它,请创建一个新的JSONObject并将文本传递给它的构造函数。然后,您可以检索值。