在Unity3D中保存游戏的方法

时间:2012-09-04 10:32:14

标签: save unity3d

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

  • 塔(多个预制件,位置和每个特定的 升级,当前正在播放的动画等)
  • 敌人(战场上的多个敌人预制件,他们​​的位置,动画,敌人路径 ,健康等)
  • Enemy Wave
  • 路径计算
  • 难度
  • 等级
  • 得分
  • 生活在左边
  • 总钱

我尝试保存所有这些信息的方法应该是什么。我必须达到的粒度级别是多少? 。我可以保存每个游戏对象,并且将自动保存与该游戏对象相关的所有内容。还是我保存每节课? ...或者我是否需要保存游戏中使用的每个变量。

1 个答案:

答案 0 :(得分:0)

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

对于简单游戏,可以建议使用播放器Prefs只保存当前级别,得分等信息。

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

同样好的方法是将数据保存到Web云中。