5.2 mouseX y mouseY


Como ya hemos comentado en el capítulo 4, Processing genera una serie de variables automáticamente cuando un programa está corriendo. Dos de estas variables son mouseX y mouseY y determinan la posición del ratón en el display window.

mouseX = posición del ratón en X
mouseY = posición del ratón en Y

Estas devuelven un valor en pixeles que puede ser leído y utilizado para modificar otros valores o para interactuar con los elementos de la ventana.

Además de mouseX y mouseY, Processing nos proporciona otras dos variables para el ratón, que son pmouseX y pmouseY, que indica la posición del ratón en el frame anterior.


Ya hemos comentado, que esto sucede muy rápido, a 60 frames por segundo, significa que estas variables cambiarán su valor 60 veces en un solo segundo, lo que dará una sensación de continuidad y movimiento.

Al tener dos valores diferentes, podemos utilizarlos para calcular la velocidad a la que se mueve el ratón por el display window, y estos valores se estarán calculando constantemente en tiempo real.
Ahora veremos un ejemplo.


Observando la imagen superior, por ejemplo, si nos encontramos en el frame 99, vemos que el valor pmouseX y pmouseY es igual a 20, lo que significa que el ratón esta en la posición 20, 20. En el frame actual, el número 100 el ratón se encuentra en la posición 50, 50. Y cuando  nos encontremos en el 101 las variables mouseX y mouseY ya serán otras nuevas y pmouseX y pmouseY tendrán un valor de 50, 50.

Esto sucede tan rápido, que es difícil intentar explicarlo y detenerlo en el tiempo. Lo mejor es que veamos un ejemplo práctico para demostrar cómo funcionan estas dos variables.



void setup(){
size(580, 580);
strokeWeight(4);
stroke(0, 102);
}

void draw(){
line(mouseX, mouseY, pmouseX, pmouseY);
}



2 comentarios:

¿Te ha servido de ayuda? Recibe las clases en tu mail