Как изменять компонент 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().

2. Если вы хотите изменить компонент 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 из него. Затем мы можем изменить его текст.

3. Если у вас есть ссылка на объект 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. Вы можете выбрать наиболее подходящий способ для вашего проекта в зависимости от вашей конкретной ситуации.