@Wadim_wadim2000

C# как изменить цвет текста при разном показателе float?

У меня есть текст в юнити с названием health. понадобилось реализовать смену его цвета при разном показателе здоровья персонажа. чтобы когда он был больше 50 становился рыжим, а когда больше 80 красным. Я в скрипте создал переменную health ,и в корутине при определенных обстоятельствах увеличивал ее на 1 каждые 0.5 секунды. я прописал в скрипте
If(health >= 50)
{
obj.getcomponent<Text>().text.color = new color(и там три числа через запятую)
}
Это работает. А вот как сделать чтобы он второй раз менял цвет если health больше 80?
  • Вопрос задан
  • 239 просмотров
Решения вопроса 1
@OblivionGM
Для начала, вместо постоянного обращения к GetComponent, используйте кэширование, потому как постоянный вызов GetComponent жрёт ресурсы, чего следует избегать.

А чтобы задать не одно условие, а несколько, используйте
if (health >= 50 && health < 80) действие
else if (health > 80) действие
else действие

Количество else if не ограничено, но не стоит злоупотреблять.
Оператор && означает "и", почитайте о них, какие существуют
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Если нужны плавные переходы между цветами, можно попробовать использовать функцию Color.Lerp().
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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