Godot 游戏引擎指南 / 保存与加载
外观
大多数游戏引擎允许你保存文件。Godot 也不例外。
有五种保存文件的方法,每种方法至少有一种加载方法。
这些可以使用 GDScript 的内置 load()
函数加载。有关更多信息,请参见 创建资源。
- 优点
- Godot 内置加载和保存
- 缺点
- 难以调试
通常用于通过互联网发送数据。它易于阅读和修改,因此请考虑压缩或加密你的保存文件以防止作弊。这在多人游戏中尤为重要。或者,将玩家数据保存在云中。这将需要设置一个 服务器。
- 优点
- 易于调试
- 快速保存/加载时间
- 缺点
可以使用 File 对象打开和解析文件。
- 优点
- 易于调试
- 易于 加密 以防止作弊者
- 缺点
- 可能难以解析
Xml 是一种简单的文件格式,但难以解析。请参见 XMLParser。
- 优点
- 广泛支持
- 缺点
- 难以解析
这可以通过调用 Node.pack()
来完成,它将自身和任何将 owner
设置为自身的子节点转换为可以保存为 ResourceSaver.save()
并使用 load()
加载的节点。
- 优点
- 内置于 Godot,可能相当快
- 缺点
- 保存所有内容,选择要保存的内容很困难且耗时
- 难以调试
你可以通过将节点的 owner
设置为 null
来排除节点。要包含属性,请将属性导出。如果节点的 owner
属性设置为调用 pack()
的节点以外的任何内容,则不会保存它。请注意,此属性必须设置为通过脚本添加到场景中的任何内容,因为它们从一开始就没有所有者。
- 在 Godot 4.0 之前,文件大小不能超过 24Gib(千兆字节)。
- 一个有用的文本文件格式是“csv”(逗号分隔值),其中每个值用逗号 (",") 分隔。使用
String.get_csv()
来分隔它们。
- 非常大的文件可能需要将近一分钟才能加载。考虑将保存文件拆分为多个文件,并且仅在需要时加载每个文件。