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