1

我已经搜索了很多关于如何在 Unity 3D 中保存游戏的信息。每个人都建议使用 XML 序列化或 Player Prefs。我无法弄清楚到底要保存什么。我的游戏是塔防游戏,所以当我退出时我需要保存

  • 塔(多个预制件,位置和每个特定升级,当前播放的动画等)
  • 敌人(战场上的多个敌人预制件,他们​​的位置,动画,敌人路径,健康等)
  • 敌波
  • 路径计算
  • 困难
  • 等级
  • 分数
  • 活着离开
  • 总金额

我应该用什么方法来保存所有这些信息。我必须达到的粒度级别是多少?. 我可以保存每个游戏对象吗?与该游戏对象相关的所有内容都将自动保存。还是我保存每一堂课?...还是我需要保存游戏中使用的每个变量。

4

1 回答 1

0

这取决于您的代码设计。但避免保存所有数据(如序列化)。所有具有初始默认值或对播放器不重要的(例如动画位置)都应仅保存更改的属性。加载游戏后,您应该从头开始创建对象,初始化它们并从保存的文件中设置值。

对于简单的游戏可以建议使用 Player Prefs 来保存当前级别、分数等信息。

为了保存数千个随机对象,请考虑保存控制点并恢复关卡加载它们并在它们周围重新生成随机点。

另一个好方法是将数据保存到网络云中。

于 2016-01-12T16:08:50.440 回答