Unity3D PlayerPrefs问题

时间:2015-03-29 03:26:33

标签: unity3d save load local-storage scoring

我遇到了一个问题,当我将分数从10降低到9时它会改变高分,即使它是一个较低的数字。这是代码:

var score : int;
var highscore : int;

function Start(){
    highscore = PlayerPrefs.GetInt("highscore");
    score = 9;
    if(score > highscore){
        highscore = score;
        PlayerPrefs.Save();
    }
}

function OnGUI(){
    GUI.Label(Rect(10,10,100,20), score.ToString() );
    GUI.Label(Rect(10,50,100,20), highscore.ToString() );
}

1 个答案:

答案 0 :(得分:0)

您正在使用GetInt,但之后您没有使用SetInt,因此您的PlayerPrefs.Save()来电实际上并未保存任何新内容。

尝试在SetInt之前使用Save()

if(score > highscore){
    highscore = score;
    PlayerPrefs.SetInt("highscore", highscore);
    PlayerPrefs.Save();
}