Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Разработка игры на юнити

Madbek / Ученик (40), открыт 2 недели назад
Разработка игры на Unity.
здравствуйте, вот у меня есть два кода один для там счетчика дефолтной ачивки и тд, а второй для того чтобы была сцена меню и нажимая кнопку она перевадила на сцену с игрой, я присваиваю эту функцию кнопке, но она ен реагирует и выходит ошибка 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);
}
}
подскажите пожалуйста, как исправить.Если что, все элементы заполнены
2 ответа
Глеб Невский Ученик (186) 2 недели назад
Ошибка "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` не переименована или не удалена из скрипта после того, как она была присвоена в инспекторе.
V̲i̲s̲t̲a̲s̲t̲e̲r̲ Искусственный Интеллект (243119) 2 недели назад
нет экземпляра SceneLoader, поэтому метод не сработает
Оксана ГуцевичУченик (14) 2 недели назад
https://otvet.mail.ru/question/237892989 помогите пожалуйста
Оксана ГуцевичУченик (14) 2 недели назад
https://otvet.mail.ru/question/237894584 помогите пожалуйста
Похожие вопросы