@scriptname="Bouncing Dot";
@author="";
@version="1.0";
@description="Точка бегает туда-сюда по горизонтали и меняет цвет на отскоке";
int x, y, dir;
int maxX, maxY;
color col;
void InitEffect()
{
maxX = GetMatrixWidth();
maxY = GetMatrixHeight();
x = 0;
y = maxY / 2; // точка идёт по средней строке
dir = 1; // направление движения: 1 = вправо, -1 = влево
col.r = 255;
col.g = 0;
col.b = 0;
}
void RenderEffect()
{
Clear(BLACK); // очищаем матрицу перед каждым кадром
SetPixel(col, x, y);
// двигаем точку
x = x + dir;
// проверяем границы и меняем направление + цвет
if (x >= maxX - 1 || x <= 0)
{
dir = -dir;
// случайный новый цвет при отскоке
col.r = random(0, 255);
col.g = random(0, 255);
col.b = random(0, 255);
}
}
void MatrixSizeChanged()
{
InitEffect();
}