Skip to content

Commit

Permalink
Agregando modo arcoiris a animaciones
Browse files Browse the repository at this point in the history
  • Loading branch information
chepecarlos committed Mar 13, 2024
1 parent 9012d86 commit 7625b44
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 7 deletions.
53 changes: 49 additions & 4 deletions Animaciones/Animacion.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,54 @@ class Animacion {
this.ColorBase;
this.ColorSecundario;
this.ColorLinea;
this.Arcoiris = false;
this.ArcoirisEsperaMinima = 5;
this.ArcoirisEsperaMaxima = 300;
this.ArcoirisTiempo = 0;
this.ArcoirisEspera = 10;
this.TiempoFPS = 0;
this.EsperaFPS = 1;
this.FPS = 60;
}

Iniciar() {}
Iniciar() {
this.ArcoirisTiempo = millis();
this.ArcoirisEspera = floor(random(this.ArcoirisEsperaMinima, this.ArcoirisEsperaMaxima));;
}

Actualizar() {}
Actualizar() { }

Dibujar() {
if (millis() - this.TiempoFPS > this.EsperaFPS * 1000) {
if (clientMQTT != undefined) {
clientMQTT.publish("alsw/fondoOBS/fps", frameRate().toFixed(0));
}
this.TiempoFPS = millis();
clientMQTT.publish("alsw/fondoOBS/fps", frameRate().toFixed(0));
// print(`FPS: ${frameRate().toFixed(2)}`);
}
if (this.Arcoiris) {
if (millis() - this.ArcoirisTiempo > this.ArcoirisEspera * 1000) {
let CualCambiar = floor(random(0, 10));
let R = floor(random(0, 255));
let G = floor(random(0, 255));
let B = floor(random(0, 255));
let ColorRandom = color(R, G, B);
if (CualCambiar <= 1) {
this.CambiarColorBase(ColorRandom);
} else if (CualCambiar <= 4) {
this.CambiarColorSecundario(ColorRandom);
} else if (CualCambiar <= 9) {
this.CambiarColorLinea(ColorRandom);
} else {
this.CambiarColorBase(ColorRandom);
this.CambiarColorSecundario(ColorRandom);
this.CambiarColorLinea(ColorRandom);
}
this.ArcoirisTiempo = millis();
this.ArcoirisEspera = floor(random(this.ArcoirisEsperaMinima, this.ArcoirisEsperaMaxima));
print("Color Arcoiris: " + CualCambiar + " - " + ColorRandom + " - " + this.ArcoirisEspera + "s");
}
}
}

CambiarColorBase(NuevoColor) {
Expand All @@ -37,6 +70,18 @@ class Animacion {
print("Intentando Cambiar a Modo: " + Modo);
}

CambiarArcoiris(Estado) {

if (Estado == "true") {
this.Arcoiris = true;
} else if (Estado == "false") {
this.Arcoiris = false;
} else if (Estado == "cambiar" || Estado == "c") {
this.Arcoiris = !this.Arcoiris;
}
print("Modo Arcoíris: " + this.Arcoiris);
}

CambiarFPS(Cantidad) {
Cantidad = parseInt(Cantidad);
this.FPS += Cantidad;
Expand All @@ -46,7 +91,7 @@ class Animacion {
print(`Cambiando ${Cantidad} FPS[${this.FPS}]`);
frameRate(this.FPS);
}

AsignarFPS(Valor) {
this.FPS = parseInt(Valor);
print(`Asignar FPS[${this.FPS}]`);
Expand Down
21 changes: 18 additions & 3 deletions MiMQTT.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ let TopicBase = ["alsw/fondoOBS/#"];
function ConectarMQTT() {
console.log(`Intentando conectar a MQTT ${DataMQTT.broker}`);
let BrokerMQTT = "";
if(DataMQTT.user === undefined){
if (DataMQTT.user === undefined) {
console.log("No Evite usuario y contraseña");
BrokerMQTT = `${DataMQTT.protocolo}://${DataMQTT.broker}:${DataMQTT.puerto}`;
} else{
} else {
BrokerMQTT = `${DataMQTT.protocolo}://${DataMQTT.user}:${DataMQTT.pass}@${DataMQTT.broker}:${DataMQTT.puerto}`;
}

Expand All @@ -32,7 +32,7 @@ function RecivirMensaje(topic, message) {
.toLowerCase()
.replace(/\r?\n|\r/g, "");
topic = topic.toString();
console.log(`Topic[${topic}]: "${Mensaje}"`);

let ListaTopic = topic.split("/");
Base = ListaTopic.shift();
switch (Base) {
Expand All @@ -45,19 +45,28 @@ function RecivirMensaje(topic, message) {
case "reiniciar":
console.log("Reiniciando[algoritmo]");
AnimacionActual.Iniciar();
return;
break;
case "animacion":
console.log(`Cambiando[algoritmo] ${Mensaje}`);
CambiarAlgoritmo(Mensaje);
return;
break;
case "mode":
console.log(`Cambiando[modo] ${Mensaje}`);
AnimacionActual.CambiarModo(Mensaje);
return;
break;
case "color":
Operacion = ListaTopic.shift();
console.log(`Intentando color[${Operacion}] ${Mensaje}`);
FuncionesColor(Operacion, Mensaje);
return;
break;
case "arcoiris":
console.log(`Modo Arcoiris: ${Mensaje}`);
AnimacionActual.CambiarArcoiris(Mensaje);
return;
break;
case "fps":
Operacion = ListaTopic.shift();
Expand All @@ -69,14 +78,20 @@ function RecivirMensaje(topic, message) {
AnimacionActual.AsignarFPS(Mensaje);
break;
}
return;
break;
default:
console.log(`Operacion no encontrada: ${Operacion}`);
return;
}
break;
default:
console.log(`Base no reconocida: ${Base}`);
return;
}
break;
}
if (topic != "alsw/fondoOBS/fps") {
console.log(`Topic[${topic}]: "${Mensaje}"`);
}
}

0 comments on commit 7625b44

Please sign in to comment.