Задать вопрос
@KseroXe

Почему возникает ошибка NullReferenceException при попытке изменить компонент Text?

Пытаюсь сделать появление текста при каком либо событии.

Вот код:
//Floating text managment
    public GameObject textPrefab;
    public GameObject textContainer; 
    public Text txt;
    private float duration = 2f;

    public void ShowText(string msg, int fontSize, Color color, Vector3 position, Vector3 motion)
    {
        GameObject text = Instantiate(textPrefab, position, transform.rotation);
        text.transform.SetParent(textContainer.transform);

        txt = text.GetComponent<Text>();
        txt.text = msg;
        
        
    }


Я назначил в textPrefab рандомный TextMeshPro, в textContainer канвасы.
Опытным путем выяснил, что ошибка NullReferenceException возникает при попытке изменить содержание компонента Text (на строчке txt.text = msg).
Ощущение что это какая то глупейшая ошибка, но я не могу найти решение.
  • Вопрос задан
  • 59 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
vkvk
@vkvk
Если я правильно понял, то ты создаешь объект с компонентом TextMeshPro, а с помощью GetComponent берешь компонент Text, которого нет на этом объекте скорее всего. Попробуй брать именно компонент TextMeshPro.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
10 февр. 2025, в 20:34
10000 руб./за проект
10 февр. 2025, в 20:28
60000 руб./за проект