Исходник Пульсация цвета C++

Тема в разделе "C/C++", создана пользователем rraggerr, 25 сен 2018.

  1. rraggerr

    rraggerr проверенный какой-то
    Проверенный

    Регистрация:
    16 мар 2017
    Сообщения:
    1.264
    Симпатии:
    472
    Добавляете в любое место в вашем коде

    
       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;
               };
           };
       };
    
    и используете так:

     static float PlusateBlue = 255.0f;
            /*Color:: - это если пихаете в класс Color как и я */Pulsate( PlusateBlue/* переменная */, 100.f/*минимальное*/ , 255.f/*максимальное значение*/ , 1.f/*скорость*/ );
    Вот как это выглядит на примере ImGui (лок на фпс включен)

    p.s это самый простой метод пульсации, можно сделать лучше через HSB
     
    #1 rraggerr, 25 сен 2018
    Последнее редактирование: 25 сен 2018
    Izd4T нравится это.
  2. zeel228

    zeel228 Участник

    Регистрация:
    20 июл 2018
    Сообщения:
    5
    Симпатии:
    0
    Что происходит в видео, кто объяснит?
     
  3. rraggerr

    rraggerr проверенный какой-то
    Проверенный

    Регистрация:
    16 мар 2017
    Сообщения:
    1.264
    Симпатии:
    472
    :facepalm2::facepalm2::facepalm2::facepalm2:
    Пульсация цвета C++
    честно хз что там может происходить...
     
  4. Rinat_Namazov

    Rinat_Namazov ( ͡° ͜ʖ ͡°)
    Проверенный

    Регистрация:
    9 авг 2015
    Сообщения:
    1.046
    Симпатии:
    441
    Добавишь в конец файла, и использовать функцию выше нельзя будет, не объявив.
     
    imring нравится это.
  5. Oreshka23

    Oreshka23 Интересующийся

    Регистрация:
    10 май 2015
    Сообщения:
    150
    Симпатии:
    39
    С третьего раза понял, что облачко становится то фиолетовым, то синим
     
  6. rraggerr

    rraggerr проверенный какой-то
    Проверенный

    Регистрация:
    16 мар 2017
    Сообщения:
    1.264
    Симпатии:
    472
    не фиолетовым а черным, я не указывал ни зеленый ни красный цвет, ток синий
     
  7. iAmerican

    Проверенный

    Регистрация:
    17 фев 2014
    Сообщения:
    520
    Симпатии:
    183
    Более точно будет сказать переливание цвета, пульсация эт другое.
     
  8. DucaRii

    DucaRii Постоянный участник

    Регистрация:
    8 мар 2017
    Сообщения:
    78
    Симпатии:
    28
    Я все понимаю что тебя это не волнует, но извини, это полнейший бред, а не код.
    Тебе достаточно допустим:
    bool mState = false;
    mState ? (mColor += fSpeed) : (mColor -= fSpeed);
    if(mColor == cMax || mColor == cMin) mState = !mState;
     
    imring нравится это.
  9. LUCHARE

    BH Team

    Регистрация:
    23 май 2017
    Сообщения:
    512
    Симпатии:
    570
    в том высказывании ошибка в другом месте