@Gregory256

Как осуществить изменение цвета текста?

Доброго времени суток ,подскажите пожалуйста как можно изменять цвет текста ?Цель получать различные цвета для текста рандомно ,при этом из заданного диапазона. Если задаю только один цвет ,все работает ,с массивом же ничего не выходит.
public TextMeshProUGUI targetCountText;
    public List<Color> colorList; 

void Update()
    {
        ChangeColors();
    }
    void ChangeColors()
    {
        int index = Random.Range(0,colorList.Count);
        colorList[0] = Color.black;
        colorList[1] = Color.blue;
        colorList[2] = Color.gray;
        colorList[3] = Color.green;
        targetCountText.color =  colorList[index];
    }
  • Вопрос задан
  • 87 просмотров
Решения вопроса 1
twobomb
@twobomb
Прикольно, а оно вообще может работать? Вместе массива вы создаете лист, но не инициализируете его. Да еще и пытаетесь впихивать в него элементы как в массив. Но даже если инициализировать лист и добавлять элементы через метод Add, то всеравно работать не будет. Потому-что получение рандомного индекса стоит перед добавлением этих самых элементов, а значит там будет от 0 до 0....
P.S. Попробуйте
void ChangeColors()    {
        targetCountText.color =  (Color)new Color32(Random.Range(0,256), Random.Range(0,256) , Random.Range(0,256),255);
    }

Если конечно рандомный цвет нужен не из определенного набора..
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы