使用统一的PlayerPrefs和staticVariable

时间:2016-07-27 06:59:27

标签: optimization unity3d static-classes

我正在使用带有少量静态变量的静态类来保存游戏中的'currentPlayer','currentLevel','currentScore'等属性。 这些在整个游戏流程中经常被调用。但不是经常按照框架。 在所有这些类中,在不同的点处引用超过100次以及在相同位置多次引用。 我想知道这是一个很好的方法还是我应该使用PlayerPrefs,还是可能有另一种好方法? 仅举这些变量是暂时的,不需要保存,但需要在不同的游戏场景中来回保存。 游戏适用于目标为512 MB RAM和低处理器的手机。 TIA

3 个答案:

答案 0 :(得分:1)

如果这些变量是需要保存的值,例如玩家得分,播放器设置(如音量,等级),则使用PlayerPrefs。使用PlayerPrefs就像是一石二鸟。如果您使用static变量来保存此类值,则仍需要使用PlayerPrefs保存这些值,这意味着您现在同时使用static变量和{{1 }}

如果这些变量是不需要保存的值,请使用PlayerPrefs变量。

答案 1 :(得分:1)

值得详细阐述程序员的反应,即静态或类别变量在整个会话期间持续存在。删除类的对象或更改场景时,您仍然可以访问这些值。 PlayerPrefs就像下一个级别,实际上写入设备上的非易失性位置。

答案 2 :(得分:0)

我认为Unity方法是使用'Scriptable Objects',如果你不想保存这些数据。你可以在编辑器中设置这些变量,然后在游戏中使用它们或在游戏中更改它们。