我遇到了一个问题,当我将分数从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() );
}
答案 0 :(得分:0)
您正在使用GetInt
,但之后您没有使用SetInt
,因此您的PlayerPrefs.Save()
来电实际上并未保存任何新内容。
尝试在SetInt
之前使用Save()
:
if(score > highscore){
highscore = score;
PlayerPrefs.SetInt("highscore", highscore);
PlayerPrefs.Save();
}