Подсчет очков

Программирование на Юнити.

Подсчет очков

Сообщение Sarmat 09 янв 2021, 10:29

Добрый день. Возникла проблема. Добавляю подсчет очков в игру. Сделал так, что бы при смерти подсчет очков останавливался. Это реализовано успешно. Зато теперь, когда происходит рестарт, то подсчет очков вообще не работает - постоянно "0". Ниже код. Если убираю строчки, выделенные жирным, то при смерти счет очков продолжается, зато когда начинаю игру заново, то подсчет идет как надо, с нуля. При чем, если первый раз запускаю игру из главного меню, то все норм, а если после смерти возвращаюсь в гланое меню, а оттуда опять начинаю новую игру, то подсчет снова не работает. В чем может быть проблема?

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class Score : MonoBehaviour{
public int Score_Player;
public Text txt;
private float timer;
public static bool lose = false;
// Start is called before the first frame update
void Start()
{

}

// Update is called once per frame
void OnTriggerEnter2D(Collider2D other)
{
if (other.gameObject.tag == "Asteroid")
{
lose = true;
}
}

void Update()
{
txt.text = "Счет: " + Score_Player;
if (lose == false) {
timer += 1 * Time.deltaTime;
if (timer > 1) {
Score_Player += 1;
timer = 0;
}
}
}


}
Sarmat
UNец
 
Сообщения: 5
Зарегистрирован: 09 янв 2021, 10:23

Re: Подсчет очков

Сообщение samana 09 янв 2021, 12:17

Sarmat писал(а):когда происходит рестарт

Вы уверены, что после рестарта, ваша переменная lose устанавливается обратно в false?
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 13