Skip to content
Storage
---

游戏可以存储数据,例如玩家的进度。默认情况下,在游戏会话之间不会持久保存任何数据。使用**存储**操作和条件可以轻松持久保存诸如玩家的最高分、物品等信息。

要查看实例,请查看GDevelop附带的_[保存-加载示例](https://editor.gdevelop.io/?project=example://save-load)_。

注意

存储操作将所有数据存储到**内部存储**中。如果要从文件中写入或读取数据,请阅读[文件系统页面](https://wiki.gdevelop.io/gdevelop5/all-features/filesystem)(仅适用于Windows、macOS、Linux)。

从存储中写入和读取值
-----------------------------------------

当使用写入或读取存储中的值的操作时,您需要提供**存储**和**组**。

### **存储**

要将值写入的存储的名称。例如,您可能希望将玩家信息存储在名为“ player”和游戏设置在名为“ settings”的存储中。或者,您可以使用一个单一的存储保存所有内容,并称其为“ save”。如果具有该名称的存储不存在,GDevelop将创建该存储。

可以将此与磁盘上的文件名进行比较。

注意

GDevelop不使用本地文件系统来存储这些“存储”。相反,它使用应用程序的内部存储,即Web上的“ LocalStorage”。

### **组**

组名可用于组织正在保存的数据。这样,在相同的存储中存储大量数据时,更容易理解。例如,可以在一个组名内存储玩家的位置,在相同的存储中的另一个组名内存储玩家的生命值。可以通过使用斜杠分隔它们的名称在一个组中创建包含的组:

*   “Player / PositionX” - 存储玩家的X位置。
*   “Player / Life” - 存储玩家的生命值。

高级:在预览期间清除存储
--------------------------------------------

数据永久存储在预览窗口的内部存储中,它在预览和即使在关闭GDevelop后(例如在导出的游戏中)也会得以保持。

当我们预览游戏时,有时需要重置数据,就像游戏首次启动一样。为此,可以清除存储:

*   在预览窗口的顶部工具栏选择**查看**->**切换开发人员工具**。
*   开发人员工具通常会打开,并选中“控制台”选项卡显示一些消息。
*   单击“**应用程序**”选项卡。它可能不可见,取决于您的预览窗口的大小。您可以调整预览窗口的大小,直到顶部出现“应用程序”选项卡。
*   选择了“应用程序”选项卡后,可以在左侧的**存储**->**本地存储**->**file:**下找到存储的数据。
*   如果使用鼠标左键单击“file:”,可以查看存储中存储的详细信息。
*   要清除数据,请使用鼠标右键单击“file:”并选择“**清除**”

你现在可以关闭预览窗口。再次运行预览时,存储的数据将会消失。

进阶: 查找保存位置

桌面游戏

在台式电脑上,本地存储始终位于以下位置:

  • Windows: PATH_TO_USER_FOLDER\AppData\Roaming\GAME_NAME\Local Storage\leveldb
  • Linux: home/USER_NAME/.config/GAME_NAME/Local Storage/leveldb

例如: 如果在Windows中undefined0,用户配置文件文件夹位于C:盘上,用户账户名为BobBobson,游戏属性设置为'My GD5 Game',那么路径就是这样的: C:\Users\BobBobson\AppData\Roaming\My GD5 Game\Local Storage\leveldb

这会根据Windows版本和设置而有所不同,但通常可以通过在Windows资源管理器中浏览到%AppData%然后访问与游戏名称匹配的文件夹进行访问。

HTML5游戏

如果游戏已导出为HTML5版本,并上传到像Itch.io这样的主机上,那么本地存储将与_浏览器_本地存储一起维护。

这意味着每个浏览器都有一个唯一的位置,如果用户想要找到这个位置,他们需要参考浏览器的文档。这也意味着大多数浏览器在清除本地存储数据时会删除保存的数据。

参考

所有操作、条件和表达式都在存储参考页面中列出。