Paso 11: Aquellos la animación para jugar
Esperamos que usted acaba de crear tus propias animaciones y tiene bastantes para ejecutar. Esto tiene un aspecto fantástico cuando cada animación se ejecuta, pero puede muy aburrido como funciona en el mismo orden cada vez que.Este cambio ejecuta en orden aleatorio.
en el comienzo del esbozo en el array de pines es necesario agregar una nueva definición de la matriz
void (* funcAnimate[2])();
Esto establece un puntero llamado funcAnimate. Sin ir a sus detalles de trabajo real establece básicamente un conjunto de funciones que podemos llamar en la función loop. Podemos llamar a un elemento de la matriz al azar de esta matriz y esa función se ejecute. Esto nos permite realizar animaciones al azar 3. Si tienes más luego 3 luego cambiar el número en los corchetes. Recuerde que debe ser uno menos entonces el número total de animaciones. (Debido a la matriz a partir de conteo a 0)
Luego en la configuración de función que necesitamos definir qué animación está vinculada a que elemento de la matriz funcAnimate. Agregue las siguientes dos líneas y cambiar animate1 y animate2 a los nombres reales de las funciones de animación
funcAnimate [0] = animate1;
funcAnimate [1] = animate2;
Luego en la función de bucle que necesitamos cambiar el código para llamar al azar un elemento de la matriz de la matriz funcAnimate.
void loop() {}
int randnumber = 0;
randnumber = random(0,1);
para (int x = 0; x < 2; x ++) {}
(*funcAnimate[randnumber]) ();
Delay(1);
}
}
En el lazo, se selecciona un número aleatorio entre 0 y 2 (es decir, 0 o 1). El bucle llama la animación que está en esa posición en la matriz. Si usted tiene más 2 animaciones entonces cambian el número aleatorio de 2 el número de efectos que tiene.
El código siguiente hasta ahora debe darle una idea de cómo crear animaciones y mostrar en la matriz de LED.