MarkusB
Профи
(870)
8 месяцев назад
Проблема, с которой вы сталкиваетесь, скорее всего связана с тем, что вы не сбрасываете счетчик на 0 перед началом подсчета снова. Вам необходимо явно установить значение счетчика в 0 при нажатии кнопки Delete.
Вот пример кода на языке C#, который позволит вам реализовать это в Unity с использованием TextMeshPro:
using UnityEngine;
using TMPro;
public class ScoreManager : MonoBehaviour
{
public TextMeshProUGUI scoreText;
private int score = 0;
public void IncrementScore()
{
score++;
scoreText.text = score.ToString();
}
public void ResetScore()
{
score = 0;
scoreText.text = score.ToString();
}
}
unity unityunityУченик (150)
8 месяцев назад
using UnityEngine;
using TMPro;
public class ScoreManager : MonoBehaviour
{
public TextMeshProUGUI scoreText;
private int score = 0;
public void IncrementScore()
{
score++;
scoreText.text = score.ToString();
}
public void ResetScore()
{
score = 0;
scoreText.text = score.ToString();
}
}
MarkusBПрофи (870)
8 месяцев назад
Попробуй этот код
using UnityEngine;
using TMPro;
public class ScoreManager : MonoBehaviour
{
public static ScoreManager Instance { get; private set; }
public TextMeshProUGUI scoreText;
private int score = 0;
private void Awake()
{
if (Instance == null)
{
Instance = this;
}
else
{
Destroy(gameObject);
}
}
public void IncrementScore()
{
score++;
scoreText.text = score.ToString();
}
public void ResetScore()
{
score = 0;
scoreText.text = score.ToString();
}
}
MarkusBПрофи (870)
8 месяцев назад
Попробуй сейчас
public class ScoreManager : MonoBehaviour
{
public TextMeshProUGUI scoreText;
private int score = 0;
private static ScoreManager instance;
public static ScoreManager Instance
{
get
{
if (instance == null)
{
instance = FindObjectOfType<ScoreManager>();
if (instance == null)
{
GameObject obj = new GameObject("ScoreManager");
instance = obj.AddComponent<ScoreManager>();
}
}
return instance;
}
}
MarkusBПрофи (870)
8 месяцев назад
private void Awake()
{
if (instance != null && instance != this)
{
Destroy(this.gameObject);
}
else
{
instance = this;
}
}
public void IncrementScore()
{
score++;
scoreText.text = score.ToString();
}
public void ResetScore()
{
score = 0;
scoreText.text = score.ToString();
}
}