团结 - 如何保存记录?与玩家偏好

本文关键字:记录 玩家 保存 何保存 团结 | 更新日期: 2023-09-27 18:30:46

谁能向我解释一下,如何使用 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 个方法

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

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

PlayerPrefs存储在系统注册表中。使用它们来保存乐谱不是一个好主意,更喜欢带有加密功能的简单文本文件:(堆栈溢出,Unity 论坛)

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

PlayerPrefs使用Key-Value结构,这意味着它将针对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键。键必须匹配才能获取和设置值。