@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).
Ощущение что это какая то глупейшая ошибка, но я не могу найти решение.
  • Вопрос задан
  • 57 просмотров
Пригласить эксперта
Ответы на вопрос 1
vkvk
@vkvk
Если я правильно понял, то ты создаешь объект с компонентом TextMeshPro, а с помощью GetComponent берешь компонент Text, которого нет на этом объекте скорее всего. Попробуй брать именно компонент TextMeshPro.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы