Смена цвета Image

Программирование на Юнити.

Смена цвета Image

Сообщение labinzevvAlex 15 май 2021, 14:53

Всем привет.
Есть код, для плавной смены цвета Image
Синтаксис:
Используется csharp
using UnityEngine;
using UnityEngine.UI;

public class changeColorGeometryMainMenu : MonoBehaviour
{
    Image deadLineRenderer;
    [SerializeField] [Range(0f, 1f)] float lerpTime;
    [SerializeField] Color[] newDeadLineColor;
    int colorIndex = 0;
    float t = 0f;
    int len;

    private void Start()
    {
        deadLineRenderer = GetComponent<Image>();
        len = newDeadLineColor.Length;
    }

    private void Update()
    {
        deadLineRenderer.color = Color.Lerp(deadLineRenderer.color, newDeadLineColor[colorIndex], lerpTime * 2 * Time.deltaTime);

        t = Mathf.Lerp(t, 1f, lerpTime * 2 * Time.deltaTime);
        if (t > 0.9f)
        {
            t = 0f;
            colorIndex++;
            colorIndex = (colorIndex >= len) ? 0 : colorIndex;
        }
    }
}
 

Всё вроде бы работает, цвета меняются, но почему-то с течением времени, уменьшается альфаканал и Image становится прозрачным. Подскажите, как зафиксировать альфаканал, чтобы он всегда оставался 255. Заранее спасибо)
labinzevvAlex
UNIт
 
Сообщения: 74
Зарегистрирован: 12 июл 2020, 12:18

Re: Смена цвета Image

Сообщение 1max1 15 май 2021, 15:05

Может в массиве цветов, есть цвет с 0 альфа каналом.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: Смена цвета Image

Сообщение labinzevvAlex 15 май 2021, 15:24

1max1 писал(а):Может в массиве цветов, есть цвет с 0 альфа каналом.


Точно... На очевидное просто не обратил внимание. Спасибо за подсказку)
labinzevvAlex
UNIт
 
Сообщения: 74
Зарегистрирован: 12 июл 2020, 12:18


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5