CAPÍTULO 3 – interacción ratón/teclado-

Bienvenidos de nuevo al blog. En este capítulo daremos el tercer paso en processing para lograr un nivel más avanzado. Hoy aprenderemos a crear una interacción entre el ratón y el teclado, por lo que crearemos un coche que se moverá arriba, abajo, derecha e izquierda según la tecla que pulsemos en el ordenador.

Captura de pantalla de 2019-06-14 13-38-23

Comenzaremos creando las variables de ‘x’ y de ‘y’ con la función ‘int x=0;’ y ‘int y=0;’, con esto ya las tendremos establecidas. A continuación pondremos lo que queremos que se repita durante todo el programa, primero con la función ‘void setup(){‘ y después escribiremos ‘size(600,600);’ para establecer el tamaño que queréis de fondo, el primer número indica la distancia en ‘x’ y el segundo de la ‘y’.

Lo siguiente es crear la función ‘void draw(){‘ y dentro pondremos lo que queramos que se repita en ciclo, en este caso el coche y los controles. Primero creamos las condiciones ‘if(mousePressed==true)’ y ‘x=x+20;’, con esto habremos creado una condición en la que si apretamos el ratón se aumenta la velocidad por 20. A continuación tendremos que crear las condiciones para el movimiento con la función ‘if(key pressed){‘ y después ‘if(key==’d’)’ con ‘x=x+5;}’. Con esto habremos establecido que si apretamos la letra ‘d’ el coche se moverá por 5 hacia la derecha. Esto tendremos que repetirlo 4 veces con distintas letras y con distintas ecuaciones de ‘x’ y de ‘y’ según a donde queramos que se desplace. 

Por último tendremos que crear el coche y el fondo. Primero con la función ‘background(a,b,c);’ siendo estas letras números hasta el 255 que combinaremos para crear el color que queramos. Ahora con la función fill(a,b,c);’ antes de cada función de cuadrado o círculo estableceremos su color. Y ya solo nos quedaría crear los rectángulos y círculos que formen el coche. Para ello usaremos la función ‘rect(200+x,100+y,40,20);’ para el primer rectángulo, con esto estaremos sumando la ‘x’ y la ‘y’ a la posición inicial del cuadrado, que ya explicamos en los capítulos anteriores su uso. Otra función ‘rect(180+x,120+y,80,40);’ para crear el segundo rectángulo que forme el coche. Al igual que el anterior, le estaremos sumando la ‘x’ y la ‘y’ a la posición inicial del coche. Finalmente realizaremos las ruedas con ‘ellipse(200+x,160+y,20,20);’ y ‘ellipse(240+x,160+y,20,20);’ para transmitir el movimiento de ‘x’ y de ‘y’ a las ruedas. El significado de los otros números está explicado en los previos capítulos. 

Aquí os dejamos la solución por si no habéis logrado completarlo o si queréis comprobar algo. Lo más seguro es que os falte un ‘;’ o un ‘}’.

Captura de pantalla de 2019-06-14 13-37-43

A continuación os proponemos un reto sobre el mismo tema que acabamos de tratar. En él tendréis que dibujar una nave que se mueva en una dirección u otra según la tecla pulsada. Así sería la nave.

nave

Aquí os dejamos también la solución por si habéis tenido algún problema.

nave1

Por aquí os dejamos un video tutorial:

También os dejamos un test para que valoréis lo aprendido.

1- ¿Qué función se utiliza para crear la condición?

a)fill                                        b)void setup

c)background                      d)if

2- ¿Qué hay que poner dentro de la condición para establecer que se haga algo cuando se presione el ratón?

a)mousePressed==true      b)ratón

c)ellipse                                 d)mouse

3- ¿Qué se pone para establecer que se haga algo cuando se presione la letra ‘s’?

a)key==s                                b)leter==s

c)key==’s’                               d)size

4- ¿Qué es lo primero que habría que crear?

a)void draw                      b)void setup

c)el tamaño del fondo    d)Las variables de x e y

5- ¿Qué último paso hay que hacer para que la pelota se mueva cuando pulsamos un botón?

a)con la función size           b)crear un círculo con la posición inicial mas x e y

c)con la función fill             d)igualar x e y

Solucionario: 1(d), 2(a), 3(c), 4(d), 5(b)

Deja un comentario