PlayerPrefs v。用于在Unity3D中保存数据的XML文件?

时间:2016-05-13 20:44:41

标签: database unity3d save xml-serialization persistence

我在谷歌和YouTube周围搜索过,我无法找到问题的明确答案。

我是否应该使用PlayerPrefs或XML文件来保存游戏第1版中的所有数据?或者他们还有其他任何您喜欢的保存格式吗?

我的游戏没有太多数据可以保存到它上面,但也不是很少。我将在游戏中保存的内容包括:选项菜单(打开或关闭声音效果,打开或关闭游戏音乐,打开或关闭10秒故事动画),在游戏中获得距离的得分(大约10分) ,有点像广告牌),和一个非常简单的商店,你可以在游戏中达到一定距离后解锁另外两个角色。他们现在不是很多,但我将在我的游戏中发布更新,它将继续增长和扩展,所以我希望可以扩展到最好的节省选项。我尽力解释我的独特场景,如果您需要更多信息,请告诉我,我会添加它。谢谢! :)

1 个答案:

答案 0 :(得分:1)

  

我在谷歌和YouTube周围搜索过,我找不到了   对我的问题的明确答案。

那是因为他们都会完成这项工作。你使用哪一个并不重要。他们都可以保存你的游戏数据。

现在,我个人认为,出于便携性原因,您应该使用XML

当您使用PlayerPrefs保存游戏数据时,您将无法在该平台上使用它。例如,PlayerPrefs在Android上保存为.xml,在iOS和Mac OS上保存为.plist,在Windows应用商店中保存为.dat,在HKCU\Software\[company name]\[product name] key上保存为注册表项在Windows上。这些不可互换。

  • 假设您希望允许玩家将所有玩家设置从一个平台转移到另一个平台,那将是一个问题。通过使用xml,您的游戏将能够在您想要的任何平台上使用它。因此,玩家可以从他们的Android手机中获取设置,并在没有问题的情况下在PC或Mac上使用。

  • 如果您想将game engine Unity 更改为另一个 UDK ,您将很难使用播放器的旧数据。我已经看到了一个关于将玩家的数据从 Unity 传输到另一个游戏引擎的问题。如果此人使用xml,则根本不会出现问题。如果您的玩家因游戏引擎更改而丢失数据,您将收到负面反馈。如果您认为自己永远不必更改游戏引擎,请记住您不是 Unity Technologies SF 的创始人或首席执行官。他们自己做出决定,任何其他竞争对手都可以随时购买并关闭它们。这事儿常常发生。如果您真的关心xml vs PlayerPrefs,请坚持使用Xml