Загрузка данных


@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();
}