PlayerPrefs未保存

时间:2018-09-11 15:14:39

标签: c# unity3d

我已经编写了一些PlayerPref代码以在屏幕上显示我的高分。当我第一次进入播放模式时,它工作正常。但是,当我第二次进入播放模式时,高分不再具有“ Best:”前缀,并显示为单个数字,直到我获得新的高分,然后“ Best:”前缀返回。这是我的代码:

void Start ()
{
    highScore.text = PlayerPrefs.GetInt("HighScore", 0).ToString();
}

if (collision.tag == "Score")
    {
        scoreText.text = (++score).ToString();
        Destroy(collision.gameObject);
        if(score > PlayerPrefs.GetInt("HighScore", 0))
        {
            PlayerPrefs.SetInt("HighScore", score);
            highScore.text = "Best: " + score.ToString();
        }

1 个答案:

答案 0 :(得分:1)

我认为您只想在Start()中使用它:

void Start ()
{
    highScore.text = "Best: " + PlayerPrefs.GetInt("HighScore", 0).ToString();
}

使用您的实际代码,您必须要打败旧分数才能显示“最佳:”字符串。