Как изменять компонент Text — TextMeshPro из UI через скрипты?

В Unity вы можете легко изменять компонент TextMeshPro, находящийся в интерфейсе пользователя (UI), через скрипты. Вот несколько способов, которыми вы можете это сделать:

  1. Найти компонент TextMeshPro на объекте UI:
   using TMPro;
   using UnityEngine;

   public class MyScript : MonoBehaviour
   {
       private TextMeshProUGUI textMeshPro;

       private void Start()
       {
           textMeshPro = GetComponent<TextMeshProUGUI>();
       }

       private void Update()
       {
           if (textMeshPro != null)
           {
               // Изменение текста компонента TextMeshPro
               textMeshPro.text = "Новый текст";
           }
       }
   }

Этот код находит компонент TextMeshProUGUI на текущем GameObject, который содержит этот скрипт. Затем он изменяет текст компонента на "Новый текст" в методе Update().

  1. Если вы хотите изменить компонент TextMeshPro на другом объекте UI, вы можете найти его по тегу или имени:
   using TMPro;
   using UnityEngine;

   public class MyScript : MonoBehaviour
   {
       private TextMeshProUGUI textMeshPro;

       private void Start()
       {
           // Найти объект UI с тегом "MyUITag" и получить его компонент TextMeshPro
           GameObject uiObject = GameObject.FindGameObjectWithTag("MyUITag");
           textMeshPro = uiObject.GetComponent<TextMeshProUGUI>();
       }

       private void Update()
       {
           if (textMeshPro != null)
           {
               // Изменение текста компонента TextMeshPro
               textMeshPro.text = "Новый текст";
           }
       }
   }

В этом случае мы находим объект UI с помощью тега "MyUITag" и получаем компонент TextMeshProUGUI из него. Затем мы можем изменить его текст.

  1. Если у вас есть ссылка на объект UI с компонентом TextMeshPro, вы можете изменить его текст напрямую:
   using TMPro;
   using UnityEngine;

   public class MyScript : MonoBehaviour
   {
       public TextMeshProUGUI textMeshPro;

       private void Update()
       {
           if (textMeshPro != null)
           {
               // Изменение текста компонента TextMeshPro
               textMeshPro.text = "Новый текст";
           }
       }
   }

В этом случае мы имеем ссылку на компонент TextMeshProUGUI через публичную переменную textMeshPro. Мы можем изменить ее текст напрямую в методе Update().

Вышеупомянутые способы позволяют вам изменять компонент TextMeshPro из UI через скрипты в Unity. Вы можете выбрать наиболее подходящий способ для вашего проекта в зависимости от вашей конкретной ситуации.