Unity - 如何保存记录?与playerpref

时间:2016-01-17 18:26:44

标签: c# unity3d

任何人都可以向我解释如何使用PlayerPrefs保存“得分”并将其显示在屏幕上?

public class record : MonoBehaviour{

private Text counterText;
public float score;

void Start()
{
    counterText = GetComponent<Text>() as Text;

}

void Update()
{
    score += Time.deltaTime;
    counterText.text = "Score: " + score.ToString("00");
}}

2 个答案:

答案 0 :(得分:3)

您可以为班级添加2种方法

void SaveScore()
{
    PlayerPrefs.SetFloat("score", score);
}

void LoadScore()
{
    PlayerPrefs.GetFloat("score");
}

有关PlayerPrefs的更多信息,请访问:http://docs.unity3d.com/ScriptReference/PlayerPrefs.html

PlayerPrefs存储在系统注册表中。使用加密来保存得分prefer a simple text file并不是一个好主意:(Stack OverflowUnity Forum

答案 1 :(得分:1)

PlayerPrefs实用程序用于永久存储数据,直到应用程序安装在设备上。支持存储的类型有限,例如floatintstring。您可以进一步使用它,使用intstring派生新方法,由您自己决定。

PlayerPrefs使用Key-Value结构,这意味着它将对string键存储值(int,float,string)。例如,我会根据密钥"highscore"保存高分,并使用相同的string密钥获取存储的值。

现在,要保存分数,您可以使用

// To set high score
int scoreToSet = 140;
PlayerPrefs.SetInt("highscore", scoreToSet);

// To get high score
int scoreToGet = 0;
scoreToGet = PlayerPrefs.GetInt("highscore");

其中"highscore"string密钥。密钥必须匹配才能获取和设置值。