玩家首选保存值是否缓慢?

时间:2017-07-24 10:47:34

标签: c# android performance unity3d

我找到了一些关于此的答案,但它们因年龄而异(2015年最后一个)所以我对此感到疑惑,因为我需要它以便知道如何构建我的代码。我有经验的练级系统,让我们说玩家可以在1秒内获得1到10-15倍xp(假设他使用AOE法术并杀死15个怪物)所以我想知道什么是更好的方法:

  • 每次玩家获得XP时,都会直接使用PlayerPrefs.SetFloat()保存,因此可能会在一瞬间激活SetFloat 15次
  • 在游戏开始时在代码内加载播放器xp,而不是在代码内进行所有计算,在游戏结束时我将其保存到PlayerPrefs。

我想使用第一种方法,因为对我来说它更安全但我不知道这是否会很慢。

1 个答案:

答案 0 :(得分:2)

使用PlayerPrefs通常更适合保存播放器特定选项,如音量或屏幕大小,或小型游戏应用程序。一旦您的游戏变得更大,更复杂,您可以考虑创建XML,TXT或某种其他文件来保存您的游戏数据。

您可以查看Unity论坛上的this讨论。

此外,一般来说,每秒自动保存15次是一个坏主意,因为它毫无意义。如果你真的实现了自动保存,你应该考虑增加保存之间的延迟,或者保存在场景变化或其他一些未经常调用的事件上。