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

Как изменить цвет текста TextMeshPro?

Пробовал через GetComponent ,но вылетает ошибка

"ArgumentException: GetComponent requires that the requested component 'Color' derives from MonoBehaviour or Component or is an interface.
UnityEngine.GameObject.GetComponent[T] () (at :0)"

public GameObject text;
Color colorText = text.GetComponent<Color>();</blockquote>
  • Вопрос задан
  • 2312 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 3
@morex972
я программирую занимаюсь спидкубингомю
добавь библеотеку "using TMPro;" и вместо gameobject напиши TextMeshPro
и потом напиши text.color = Color.и нужный цвет;
public TextMeshPro text;
text.color = Color.yellow;
Ответ написан
@Spartanec33
для начала думаю стоит сказать, что текст должен быть не GO, а Text или TMP_Text(так не будет возможность сунуть в инспекторе не текст, а какой-то куб), а если уж и хочется говорить, что текст это GO, то нужно засунуть ошибку в переводчик и увидеть, что метод GetComponent() нуждается в том, чтобы ему сообщить какой компонент достаем из объекта, должно было быть так GetComponent<НазваниеКомпонента>();. Дальше будет проблема, что предложенном образом инициализировать не получится, нужно какой-нибудь Start. А уже потом можно будет и обратиться к цвету банально "text.color" это достанет цвет .
[SerializeField] private GameObject _text;

    private UnityEngine.Color _colorText;

    private void Start()
    {
        _colorText = _text.GetComponent<TMP_Text>().color;
    }
Ответ написан
Комментировать
motkot
@motkot
Программирование C#.
В следующий раз показывай сразу все ( весь скрипт ). Но пройдусь по всему:
Подключи пространство имен:

using TMPro;
using UnityEngine; // Если нету


В переменных напиши:

public TMP_Text Text;
public Color TextColor;


В коде напиши:

Text.color = TextColor;

// или

Text.color = Color.    // И выбрать из предложенных вариантов


PS: На хабре можно отмечать несколько вопросов правильными :)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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