PlayerPrefs加法和减法

时间:2014-01-02 15:12:14

标签: c# math unity3d

我正在制作一个游戏,其中收集的总金额显示在菜单屏幕上。现在我使用了这段代码:GUIManager.SetScore((PlayerPrefs.GetFloat("Player Score")));来显示最后一个游戏的硬币,但我不知道如何显示自收集后的 总计 钱游戏开始。我还想知道如何减去总金额(购买)

1 个答案:

答案 0 :(得分:1)

您可以通过调用PlayerPrefs.SetFloat设置一个PlayerPref浮点数,例如,当您想要将playerPrefs中的“玩家得分”设置为10时,您可以调用PlayerPrefs.SetFloat("Player Score", 10)

为了增加或减少,您可以执行以下操作:

void AddScore(float score)
{
   if(PlayerPrefs.HasKey("Player Score"))
   {
       float oldScore = PlayerPrefs.GetFloat("Player Score");
       PlayerPrefs.SetFloat("Player Score", oldScore  + score);
   }
   else PlayerPrefs.SetFloat("Player Score", 0);
}

类似于减法

void SubtractScore(float score)
{
   if(PlayerPrefs.HasKey("Player Score"))
   {
       float oldScore = PlayerPrefs.GetFloat("Player Score");
       if((oldScore - score) < 0)
           PlayerPrefs.SetFloat("Player Score", 0);
       else
           PlayerPrefs.SetFloat("Player Score", oldScore  - score);
   }
   else PlayerPrefs.SetFloat("Player Score", 0);
}

现在,如果你想添加另一个新的PlayerPref,那么你所做的一切与上面完全相同,只需将“玩家得分”改为你选择的名称(例如“玩家硬币”或其他内容)< / p>