При написании нового индикатора аудиоуровней понадобился базовый класс/конструктор лерпания цвета.
/// @description
//Site: MidaDev.ru
//Author: Dimusikus
function Color(_color=c_black, _color2=c_white) constructor
{
#region Constructor
color =_color; //динамическая изменяется туда сюда постоянно
c1_default = color; //цвет к которому возвращаться будем, статическая переменная, дефолтное состояние цвета
color2 = _color2;//цвет к которому мы LERPится будем в STEPE статическое значение, цвет по умолчанию
c2_target = color; //цвет к которому надо придти, динамическая
#endregion
//*******************************************************************
static get = function(){return color;};
//*******************************************************************
static set = function(_c){color=_c;};
//*******************************************************************
static step = function(){color = merge_color(color, c2_target, 0.1); };
//*******************************************************************
//лерпить цвет к нужному значению
static set_to = function(_co=color2){ c2_target = _co;};
//*******************************************************************
//лерпить цвет вобратку к стоковому значению
static set_to_back = function(){ set_to(c1_default)};
}
В событии Create создаём объект с параметрами цвета по умолчанию, и цвета куда будем лерпится по команде
new Color(c_gray, c_green);
В событии Step будет обрабатываться "текучка"
Color.step();