Control del tiempo con processing
En programación es imprescindible muchas veces el controlar cada cuánto tiempo se lanzan
eventos o acciones. Para ello Processing utiliza una función que se llama:
millis()
Esta función devuelve el tiempo que ha transcurrido desde que se lanza el programa y lo da
expresado en milisegundos. De esta manera, si invocamos a esta función dos veces separadas
en el tiempo y restamos esos valores, obtendremos el tiempo transcurrido entre esos dos eventos.
Por hacer un simil, es igual a como trabajan los contadores de la electricidad que llega a nuestras
viviendas. El contador empezó a contar cuando lo instalaron por primera vez, pero las lecturas de
cada factura se hacen restando la lectura actual y la del último mes (de esa manera se calcula lo
consumido ese último mes).
Veamos un ejemplo para entenderlo mejor:
eventos o acciones. Para ello Processing utiliza una función que se llama:
millis()
Esta función devuelve el tiempo que ha transcurrido desde que se lanza el programa y lo da
expresado en milisegundos. De esta manera, si invocamos a esta función dos veces separadas
en el tiempo y restamos esos valores, obtendremos el tiempo transcurrido entre esos dos eventos.
Por hacer un simil, es igual a como trabajan los contadores de la electricidad que llega a nuestras
viviendas. El contador empezó a contar cuando lo instalaron por primera vez, pero las lecturas de
cada factura se hacen restando la lectura actual y la del último mes (de esa manera se calcula lo
consumido ese último mes).
Veamos un ejemplo para entenderlo mejor:
Definimos que la elipse dibujada será un
circulo con ancho, posición, y color aleatorio y que aparecerá en un punto y con un retardo de medio segundo (500 ms)
circulo con ancho, posición, y color aleatorio y que aparecerá en un punto y con un retardo de medio segundo (500 ms)
modificamos el valor de la variable que fija el retardo (t_retardo) y observar cómo la animación se acelera o se ralentiza.
Ejecución con un retardo de 100 ms:
Ejecución con un retardo de 100 ms:
Definimos que la elipse dibujada será un
circulo con ancho, posición, y color aleatorio y que aparecerá en un punto y con un retardo de 0,1 segundo (100 ms)
Ejecución con un retardo de 1000 ms (1 segundo):
Definimos que la elipse dibujada será un
circulo con ancho, posición, y color aleatorio y que aparecerá en un punto y con un retardo de medio segundo (500 ms)
Para finalizar, realizamos un programa que simule el movimiento indefinido de un círculo de derecha a izquierda como la característica animación de luces del "Coche Fantástico".
circulo con ancho, posición, y color aleatorio y que aparecerá en un punto y con un retardo de medio segundo (500 ms)
Para finalizar, realizamos un programa que simule el movimiento indefinido de un círculo de derecha a izquierda como la característica animación de luces del "Coche Fantástico".
¡¡¡Importante!!!
x=x+vx;
if(x>=575)
vx= -20;
if(x<=25)
vx=20;
Estas 5 últimas condicionales define el modo de desplazamiendo del círculo, que
cuando llegue a la margen de la derecha, cambia de sentido y se dirige hacia la izquierda
de la misma forma que cuando llega a la margen de la izquierda, vuelve a orientar hacia
la derecha, así continuamente.
x=x+vx;
if(x>=575)
vx= -20;
if(x<=25)
vx=20;
Estas 5 últimas condicionales define el modo de desplazamiendo del círculo, que
cuando llegue a la margen de la derecha, cambia de sentido y se dirige hacia la izquierda
de la misma forma que cuando llega a la margen de la izquierda, vuelve a orientar hacia
la derecha, así continuamente.
Está bien, pero no pongáis capturas de código tan grandes, solamente un par de líneas, las más relevantes.
ResponderEliminarMucho mejor!!
Eliminar