Si te perdiste el mi sesion en el global Power Platform de Madrid, no te preocupes. Aqui te dejo la misma pero sin algunas funciones que añadí a posteriori y con una estética mejorable, antes de meterle un poco de chapa y pintura.
Lo cual no es relevante para este ejemplo, donde lo que busco es dar algunos tips sobre la arquitectura de una canvas. Y mostraros un sistema para programar canvas app, que aunque supongo que lo usará más gente, yo no lo he visto en ningún otro sitio y creo que puede ayudaros a mejorar vuestras canvas. Haciendolas más escalables y robustas. Evitando la duplicidad de código.
Así que sin más preambulos aqui teneis el video de como he organizado el código en un juego de puzzles deslizantes que hice en canvas app.
Por cierto estas son algunas de las imagenes tras los cambios estéticos y tras añadirle la función de cambio de color semialeatoria.
Y aqui os dejo el código de la función para cambiar el color de las variables que rigen la app.
"ColorAleatorio";
Set(
LogFormulas;
Concatenate(
LogFormulas;
$"{ContadorLog} - ColorAleatorio
"
)
);;
Set(
ContadorLog;
ContadorLog + 1
);;
// Generar componentes RGB aleatorios
Set(RedBase; Round(Rand() * 255; 0));;
Set(GreenBase; Round(Rand() * 255; 0));;
Set(BlueBase; Round(Rand() * 255; 0));;
// Construir el color base
Set(BaseColor; RGBA(RedBase; GreenBase; BlueBase; 1));;
Set(Colores;
{Principal: RGBA(RedBase; GreenBase; BlueBase; 1);
Secundario: RGBA(255 - RedBase; 255 - GreenBase; 255 - BlueBase; 1)
}
);