Пульсация цвета C++

bruh
Участник
Статус
Оффлайн
Регистрация
15 Апр 2017
Сообщения
1,298
Реакции[?]
365
Поинты[?]
0
Добавляете в любое место в вашем коде
C++:
    static void Pulsate( float &clr , float min , float max , float pulsate_speed )
    {
        static bool state = false;

        if( !state )
        {
            if( clr < max )
                clr += pulsate_speed;
            else
            {
                clr = max; state = !state;
            };
        }
        else
        {
            if( clr > min )
                clr -= pulsate_speed;
            else
            {
                clr = min; state = !state;
            };
        };
    };
и используете так:
C++:
static float PlusateBlue = 255.0f;
        /*Color:: - это если пихаете в класс Color как и я */Pulsate( PlusateBlue/* переменная */, 100.f/*минимальное*/ , 255.f/*максимальное значение*/ , 1.f/*скорость*/ );
Вот как это выглядит на примере ImGui (лок на фпс включен)
p.s это самый простой метод пульсации, можно сделать лучше через HSB
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
12 Июн 2014
Сообщения
991
Реакции[?]
1,209
Поинты[?]
3K
для любителей эпилепсии:
Код:
DWORD color = 0xff000000;
static int  value, tmp;
            if (tmp == 0)
                (value < 0xFF / 4) ? value += 1 : tmp = 1;
            if (tmp == 1)
                (value > 0x00) ? value -= 1 : tmp = 0;
            
            color = 0xFF000000 + (0x10000 * (value * 4)) + (0x100 * (value * 5)) + 0x1 * (value * 4);
для разнообразия цветов редактировать числа в последней строке

Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Сверху Снизу