mirror of
https://github.com/AlexGyver/GyverLamp.git
synced 2025-08-07 08:30:32 +03:00
Update effects.ino
This commit is contained in:
@@ -235,6 +235,10 @@ int8_t lightersSpeed[2][LIGHTERS_AM];
|
||||
CHSV lightersColor[LIGHTERS_AM];
|
||||
byte loopCounter;
|
||||
|
||||
int angle[LIGHTERS_AM];
|
||||
int speedV[LIGHTERS_AM];
|
||||
int8_t angleSpeed[LIGHTERS_AM];
|
||||
|
||||
void lightersRoutine() {
|
||||
if (loadingFlag) {
|
||||
loadingFlag = false;
|
||||
@@ -248,7 +252,7 @@ void lightersRoutine() {
|
||||
}
|
||||
}
|
||||
FastLED.clear();
|
||||
if (++loopCounter > 70) loopCounter = 0;
|
||||
if (++loopCounter > 20) loopCounter = 0;
|
||||
for (byte i = 0; i < modes[17].scale; i++) {
|
||||
if (loopCounter == 0) { // меняем скорость каждые 255 отрисовок
|
||||
lightersSpeed[0][i] += random(-3, 4);
|
||||
@@ -256,6 +260,7 @@ void lightersRoutine() {
|
||||
lightersSpeed[0][i] = constrain(lightersSpeed[0][i], -20, 20);
|
||||
lightersSpeed[1][i] = constrain(lightersSpeed[1][i], -20, 20);
|
||||
}
|
||||
|
||||
lightersPos[0][i] += lightersSpeed[0][i];
|
||||
lightersPos[1][i] += lightersSpeed[1][i];
|
||||
|
||||
@@ -273,3 +278,56 @@ void lightersRoutine() {
|
||||
drawPixelXY(lightersPos[0][i] / 10, lightersPos[1][i] / 10, lightersColor[i]);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
void lightersRoutine() {
|
||||
if (loadingFlag) {
|
||||
loadingFlag = false;
|
||||
randomSeed(millis());
|
||||
for (byte i = 0; i < LIGHTERS_AM; i++) {
|
||||
lightersPos[0][i] = random(0, WIDTH * 10);
|
||||
lightersPos[1][i] = random(0, HEIGHT * 10);
|
||||
|
||||
lightersColor[i] = CHSV(random(0, 255), 255, 255);
|
||||
|
||||
speedV[i] = random(5, 10);
|
||||
angle[i] = random(0, 360);
|
||||
angleSpeed[i] = random(-10, 10);
|
||||
}
|
||||
}
|
||||
FastLED.clear();
|
||||
if (++loopCounter > 20) loopCounter = 0;
|
||||
|
||||
for (byte i = 0; i < modes[17].scale; i++) {
|
||||
if (loopCounter == 0) { // меняем скорость каждые 255 отрисовок
|
||||
angleSpeed[i] += random(-3, 4);
|
||||
angleSpeed[i] = constrain(angleSpeed[i], -15, 15);
|
||||
}
|
||||
|
||||
lightersPos[0][i] += speedV[i] * cos(radians(angle[i]));
|
||||
lightersPos[1][i] += speedV[i] * sin(radians(angle[i]));
|
||||
|
||||
if (lightersPos[0][i] < 0) lightersPos[0][i] = (WIDTH - 1) * 10;
|
||||
if (lightersPos[0][i] >= WIDTH * 10) lightersPos[0][i] = 0;
|
||||
|
||||
if (lightersPos[1][i] < 0) {
|
||||
lightersPos[1][i] = 0;
|
||||
angle[i] = 360 - angle[i];
|
||||
} else {
|
||||
angle[i] += angleSpeed[i];
|
||||
}
|
||||
|
||||
if (lightersPos[1][i] >= (HEIGHT - 1) * 10) {
|
||||
lightersPos[1][i] = (HEIGHT - 1) * 10;
|
||||
angle[i] = 360 - angle[i];
|
||||
} else {
|
||||
angle[i] += angleSpeed[i];
|
||||
}
|
||||
|
||||
if (angle[i] > 360) angle[i] = 360 - angle[i];
|
||||
if (angle[i] < 0) angle[i] = 360 + angle[i];
|
||||
|
||||
drawPixelXY(lightersPos[0][i] / 10, lightersPos[1][i] / 10, lightersColor[i]);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
Reference in New Issue
Block a user