8-3. 人物数值及场景的保存加载

人物数值保存加载

在 Data 中添加一个 floatSavedData

然后在 Character 里面进行设置,读取血量之后记得通知血条栏更新血量

场景保存加载

Data 中增加一个字符串,用于存储场景信息。存储的时候传入一个 GameSceneSO,通过 JsonUtility 转换为 字符串。然后读取的时候,将保存的 string 反序列化为 GameSceneSO

场景是通过 SceneLoadManager 进行管理的,所以需要对它也添加 ISaveable 接口

存储的时候,就把当前的场景传进去。读取的时候,首先要判断是否有记录,如果有记录才读取场景和玩家的坐标,并重新加载场景

存储点记录

可以自己实现,我偷懒就不实现了

其它问题

我发现野猪的位置在场景加载后好像不正确,原因是加载事件产生的时候,此时野猪是不存在的,无法修改坐标。等场景加载完毕之后,野猪的位置回到了初始点,所以场景加载会导致野猪的问题不正确。

所以如果要做的好一点的话,场景加载和位置加载应该要分成两个事件会比较好

我赶进度,就不做了

项目相关代码

代码仓库:https://gitee.com/nbda1121440/2DAdventure.git

标签:20240229_1102

posted @ 2024-02-29 11:17  hellozjf  阅读(39)  评论(0编辑  收藏  举报