@K1ald

Как обнулять рекорд при переходе на другую сцену?

[SerializeField] Text HighScoreText;
    [SerializeField] Text scoreText;
    public int score;
    [SerializeField] int highScore = 0;

    public bool canPickScore = true;

    void Start()
    {
        //score = 0;
        loadScores();
    }
    void Update()
    {
        HighScoreText.text = "Лучший счет: " + highScore.ToString();

        if (score > highScore)
        {
            highScore = score;
            saveScores();
        }

    }

    public void saveScores()
    {
        PlayerPrefs.SetInt("highScore", highScore);
        PlayerPrefs.Save();
    }

    public void loadScores()
    {
        highScore = PlayerPrefs.GetInt("highScore");
    }

    private void OnTriggerEnter2D(Collider2D col)
    {
        if (col.gameObject.tag == "ScoreTrigger" && canPickScore == true)
        {
            score++;
            scoreText.text = score.ToString();
            saveScores();

        }
    }

Это код счета и рекорда с сохранением PlayerPrefs...

Но нужно сделать так, чтобы на каждом уровне был свой счетчик рекорда.

Нужно сделать "Лучший счет/Рекорд" в игре с несколькими уровнями.
Я так сделал, но проблема в том, что рекорд сохраняется при переходе на следующий уровень, а нужно сделать так, чтобы он сбрасывался.
Иначе получится так, что игрок может "набить большой счет" на легком уровне, потом перейти на следующие и будет казаться будто бы игрок набрал высокий счет на сложном уровне, хотя на самом деле это не так.
Есть идеи как это правильно реализовать?

У меня есть одна... При переходе со сцены на сцену сбрасывать переменную, но понятия не имею как это сделать.
  • Вопрос задан
  • 81 просмотр
Пригласить эксперта
Ответы на вопрос 1
Я так сделал, но проблема в том, что рекорд сохраняется при переходе на следующий уровень

Как по мне логично , что он будет сохранять счет т.к. у тебя PlayerPrefs , сначала сбрасывай счет , а потом сохраняй , если тебе нужно именно , самый лучший счет на уровне и суммарный , то просто сделай два PlayerPrefs , один будет счет на уровне который будет обновляется и другой лучший счет , который будет равен счету уровня при рекорде .
У меня есть одна... При переходе со сцены на сцену сбрасывать переменную, но понятия не имею как это сделать.

в Awake делаешь счет нулевым
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
13 июн. 2024, в 14:19
60000 руб./за проект
13 июн. 2024, в 14:18
10000 руб./за проект
13 июн. 2024, в 13:58
5000 руб./за проект