Paso 59: Software: efecto 3, sendvoxels al azar Z
Este efecto envía vóxeles arriba y abajo del eje Z, como la implica.
sendvoxels_rand_z() vacío toma tres argumentos. Iteraciones es el número de veces que un voxel es enviado hacia arriba o hacia abajo. Demora es la velocidad del movimiento (mayor retardo, velocidad inferior). Esperar es el retardo entre cada voxel que se envía.
Así es cómo funciona:
1) el cubo se borra con fill(0x00);
2) bucle todas las 64 posiciones a lo largo de X / Y y al azar un voxel en Z = 0 o Z = 7.
3) entrar en el bucle de iteración principal
4) Seleccione coordenadas al azar x y Y entre 0 y 7. Si las coordenadas X e Y son idénticas a las coordenadas anteriores, se omitirá esta iteración.
5) comprueba si el voxel a este X coordenada en Z = 0 o Z = 7, y enviarlo hacia el lado opuesto con sendvoxel_z().
6) retrasar por un tiempo y guardar las coordenadas de esta iteración, por lo que podemos comprobar contra las coordenadas al azar en la siguiente iteración. Parecía raro que mueva el mismo voxel dos veces en una fila.
El movimiento real de los vóxeles realiza otra función, sendvoxel_z. La razón de esto, es que un par de otros efectos hace lo mismo solo en diferentes formas.
La sendvoxel_z() de la función toma cuatro argumentos. Coordenadas X e Y. Coordenada Z, esto es el destino y puede ser 0 o 7. Retraso que controla la velocidad.
Así es cómo funciona:
1) para ()-lazo de 0 a 7.
2) si el destino es 7, fijamos ii a 7-1, haciendo la inversa de i. ii claro el voxel en Z = ii + 1. Cuando se mueve hacia abajo, ii + 1 es el voxel anterior.
3) si el destino es 0, sea ii igual a i. clara ii-1. Cuando se mueve hacia arriba, -1 es el voxel anterior.
4) juego de el voxel en z = ii.
5) espere un rato.