我目前正试图在Unity中存储一个高分。如何保存高分?
这是我到目前为止所拥有的
private float gameTime = 0; //the time (in seconds) that the player has been playing the level
public void PlayerWin()
{
gameOver = true;
//Update the highscore
float bestTime = 0;
bool isNewHighscore = false;
//Pop up the win message
UIController.GameOver(WIN_MESSAGE, gameTime, bestTime, isNewHighscore);
}
答案 0 :(得分:4)
您可能希望使用PlayerPrefs。由于看起来好像是通过bestTime变量(浮动类型)跟踪得分,因此您特别想要使用PlayerPerfs.SetFloat
您的代码将类似于:
PlayerPrefs.SetFloat("highScore", bestTime);
答案 1 :(得分:3)
使用关键highScore
保存您的分数void saveHighScoreee() {
PlayerPrefs.SetFloat("highScore", 10.0F);
}
PlayerPrefs.Save();
这就是你获得保存分数的方法
void Example() {
print(PlayerPrefs.GetFloat("highScore"));
}
了解更多信息,请查看官方文档
答案 2 :(得分:0)
PlayerPrefs将在本地保存一些数据(在特殊文件中)。即使您关闭可执行文件,也可以使用它。
Doc:http://docs.unity3d.com/ScriptReference/PlayerPrefs.html
您可以操纵 Int , Float 和字符串
在你的情况下,你通常需要int(秒),但你使用float。
PlayerPrefs.setFloat("BestScore", bestTime);
PlayerPrefs.getFloat("BestScore");