我找到了一些答案,但是随着年龄的增长(2015年最后一个)而有所不同,所以我对此很纳闷,因为我需要它,以便知道如何构建代码。我拥有经验丰富的练级系统,可以说玩家可以在一秒内获得1到10到15倍的经验值(假设他使用AOE咒语并杀死15个小怪),所以我想知道哪种方法更好:


玩家每次获得XP时都会直接用PlayerPrefs.SetFloat()保存该XP,因此可能会在一瞬间激活SetFloat 15次
在游戏开始时将玩家xp加载到内部代码中,然后执行代码内部的所有计算,并在游戏结束时将其保存到PlayerPrefs中。


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

最佳答案

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

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

此外,每秒自动保存15次通常是个坏主意,因为这毫无意义。如果确实实现了自动保存,则应考虑增加两次保存之间的延迟,或者在场景更改或其他不太频繁调用的事件时进行保存。

关于c# - 玩家偏好保存值是否缓慢?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45278600/

10-11 22:49
查看更多