Глеб Невский
Ученик
(191)
7 месяцев назад
Ошибка "ScoreText is not set!" означает, что ссылка на объект текста счетчика очков (ScoreText) не была установлена в инспекторе Unity. Это может произойти, если ты забыл присвоить объект текста в инспекторе или случайно удалил его.
Чтобы исправить эту ошибку, убедись, что вы присвоил объект текста ScoreText в инспекторе Unity. В твоем скрипте `Score_and_Achiv`, обратите внимание на переменную `ScoreText`, которая помечена атрибутом `[SerializeField]`. Это означает, что ты должен присвоить объект текста в инспекторе Unity.
1. Открой сцену в Unity, содержащую объект с твоим скриптом `Score_and_Achiv`.
2. Найди объект с этим скриптом в иерархии.
3. Убедись, что ты видишь поле `Score Text` в компоненте `Score_and_Achiv` в инспекторе.
4. Перетащи объект текста из твоей сцены в это поле или используй кнопку "Circle" справа от поля, чтобы выбрать объект текста.
Если после этого ошибка остается, убедись, что переменная `ScoreText` не переименована или не удалена из скрипта после того, как она была присвоена в инспекторе.
здравствуйте, вот у меня есть два кода один для там счетчика дефолтной ачивки и тд, а второй для того чтобы была сцена меню и нажимая кнопку она перевадила на сцену с игрой, я присваиваю эту функцию кнопке, но она ен реагирует и выходит ошибка ScoreText is not set!
0x00007ff7dbdba2fd (Unity) StackWalker::GetCurrentCallstack
0x00007ff7dbdbf2a9 (Unity) StackWalker::ShowCallstack
0x00007ff7dcd96931 (Unity) GetStacktrace
код для перехода на сцену
using UnityEngine;
using UnityEngine.SceneManagement;
public class SceneLoader : MonoBehaviour
{
public void LoadGameScene()
{
SceneManager.LoadScene(1);
}
}
остальной код для фонов в другой сцене
using UnityEngine.SceneManagement;
using UnityEngine.UI;
using UnityEngine;
public class Score_and_Achiv : MonoBehaviour
{
private int _Score = 0;
[SerializeField] Text ScoreText;
[SerializeField] GameObject PanelAchiv;
[SerializeField] GameObject Achivement;
[SerializeField] GameObject DefoltAchivement;
public void Update()
{
if (ScoreText != null)
{
ScoreText.text = _Score.ToString();
if (_Score == 10)
{
Achivement.SetActive(true);
DefoltAchivement.SetActive(false);
}
}
else
{
Debug.LogError("ScoreText is not set!");
}
}
public void IsClicScore()
{
_Score++;
}
public void MenuAchivClick()
{
PanelAchiv.SetActive(true);
}
public void MenuAchivClicVihod()
{
PanelAchiv.SetActive(false);
}
}
подскажите пожалуйста, как исправить.Если что, все элементы заполнены