当前位置: 首页 > 知识库问答 >
问题:

在Unity2d中保存和加载高分

万承志
2023-03-14
bool gameOver;
    public Text scoreText;
    public Text highScoreText;
    int score;
    int highScore;

    // Use this for initialization
    void Start () {
        score = 0;
        highScore = 0;
        InvokeRepeating ("scoreUpdate", 1.0f, 1.0f);
        gameOver = false;
    }

    // Update is called once per frame
    void Update () {
        scoreText.text = "★" + score;
        highScoreText.text = "★" + highScore; 
    }

    public void gameOverActivated() {
        gameOver = true; 
        if (score > highScore) {
            highScore = score; 
        }
        PlayerPrefs.SetInt("score", score);
        PlayerPrefs.Save();

        PlayerPrefs.SetInt("highScore", highScore);
        PlayerPrefs.Save();
    }

void scoreUpdate() {
    if (!gameOver) {
        score += 1;

        }} }
void OnCollisionEnter2D (Collision2D col) {

        if (col.gameObject.tag == "enemyPlanet") {

            ui.gameOverActivated ();
            Destroy (gameObject);
            Application.LoadLevel ("gameOverScene2");
        }

    }

我想要的是在这一点上(当物体碰撞和游戏结束是真的),分数被保存,然后游戏结束场景被加载。我如何在游戏结束时保存分数,然后将其与保存的最高分一起加载到游戏结束场景中??

共有1个答案

严天逸
2023-03-14

有多种方法可以做到这一点,其中两种最明显的方法是将它存储在静态类或单例中。不管场景加载如何,这些类都将持续很长时间,所以要小心如何管理它们中的信息。

静态类实现的一个示例是:

public static class HighScoreManager
{
    public static int HighScore { get; private set; }

    public static void UpdateHighScore(int value)
    {
        HighScore = value;
    }
}

如果您希望将数据持久化更长时间,则需要查看以下内容

 类似资料:
  • 问题内容: 我正在尝试从我训练的模型中保存和加载权重。 我用来保存模型的代码是。 让我知道这是不正确的方法,还是有更好的方法。 但是当我尝试使用它们加载它们时, 但我得到这个错误: 关于我可能在做错的任何建议吗?先感谢您。 问题答案: Keras提供了三种不同的保存方法。这些在上面(带有示例)以及下面的视频链接中进行了描述。 首先,收到错误的原因是因为您打错电话。 要保存和加载模型的权重,您首先需

  • 译者 bruce1408 作者: Matthew Inkawhich 本文提供有关Pytorch模型保存和加载的各种用例的解决方案。您可以随意阅读整个文档,或者只是跳转到所需用例的代码部分。 当保存和加载模型时,有三个核心功能需要熟悉: torch.save: 将序列化对象保存到磁盘。 此函数使用 Python 的pickle模块进行序列化。使用此函数可以保存如模型、tensor、字典等各种对象。

  • 问题内容: 我有一堂课,为游戏中的玩家提供服务,创建他们以及其他东西。 我需要将这些播放器对象保存在文件中,以便以后使用。我已经尝试过pickle模块,但是我不知道如何保存多个对象并再次加载它们?有没有办法做到这一点,还是应该使用其他类(例如列表)并将对象保存并加载到列表中? 有没有更好的办法? 问题答案: 到目前为止,使用列表,元组或字典是最常见的方法: 打印: 但是,泡菜文件 可以 包含任意数

  • This tutorial describes how to save and load models in TensorFlow.js. Saving and loading of models is an important capability. For example, how do you save the weights of a model fine-tuned by data on

  • 问题内容: 我有一堂课,为游戏中的玩家提供服务,创建他们以及其他东西。 我需要将这些播放器对象保存在文件中,以便以后使用。我已经尝试过pickle模块,但是我不知道如何保存多个对象并再次加载它们?有没有办法做到这一点,还是应该使用其他类(例如列表)并将对象保存并加载到列表中? 有没有更好的办法? 问题答案: 到目前为止,使用列表,元组或字典是最常见的方法: 输出: 但是,泡菜文件可以包含任意数量的

  • 在tenstorflow 2.0中,一旦模型被训练,我们如何保存模型以防止从一开始就重新训练它?