1

--

编辑:我刚刚意识到,这个问题的“正确”答案目前对我来说可能有点进步。我现在想专注于向游戏添加东西,而不是制作最好的保存/加载系统。我接受了你的建议,你让我敞开心扉,让我在未来做很多很棒的事情。主要是对保存的数据进行标注(可能使用XML)。目前,我将添加一些原始函数以使其在这个开发阶段工作。

--

我需要一些帮助来找出一种合乎逻辑的好方法。它适用于我正在使用 c++ 和 SDL 制作的游戏。我需要一些有关保存/加载内容的帮助。基本上,当我保存游戏时,有些东西会一直存在(玩家姓名、位置、金币等)。但也有一些动态保存的内容,比如统计数据、装备物品和库存物品(以后完成的任务也会保存在这里)。

我保存这些数据没有问题,这很容易。我遇到的问题是如何在读取数据时构造它的断点。这是保存文件的外观示例:

CharName(一些变量,比如位置,会一直保存)(第一个statMap看起来像这个从map中获取的“string int”)(第二个statMap,也是一样的)(装备物品,一个item分成三部分“string name int ID 字符串描述”)(库存中的物品,与上一个相同)

我希望你能理解我的例子。我需要一些帮助来理解一种合理的方式来构建它。我正在考虑也许用一个字符结束每个动态序列,然后将行加载到字符串中的那个字符。然后我将该字符串分成几个部分。但这听起来像是一个可怕的步骤。你能帮帮我吗?

4

1 回答 1

0

在游戏中构建数据文件的一种非常常见的方法是使用标题和正文:在标题中,您可以根据偏移量定义正文中内容的结构:

例如,字符统计数据从偏移量 10054 开始,一直持续到 2120 个字符(您必须定义并使用标准字符大小才能进行此操作)。

然后,当您阅读它时,您会阅读标题以获取结构,然后从它指定的区域加载数据。

于 2012-10-29T10:00:44.437 回答