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)

CAPÍTULO 1 – Dibujo Estático

Hola, bienvenidos al blog, hoy aprenderemos a hacer dibujos estáticos, que forman el nivel más básico de processing. Para ello dibujaremos un campo de baloncesto como muestra la imagen.

Captura de pantalla basket

Antes de todo debes saber que después de una función debes poner ‘;’ para que sea válida.

Empezaremos escribiendo el comando «void setup(){» y dentro del corchete determinaremos las medidas del campo «size(x,y);, poniendo en x la medida de x y en y la medida del eje y » y el color del fondo «fill(R,G,B)» R:rojo, G:verde B: azul, con números del 0 al 255 que se van combinando para formar colores.

Para dibujar círculos, escribiremos la función ‘ellipse(x,y,a,b)’; siendo x la cordenada del eje x, y la de su respectivo eje y a y b el tamaño.

Para dibujar rectángulos, escribiremos la función ‘rect(x,y,a,b)’; siendo x la cordenada del eje x, y la de su respectivo eje y a y b el tamaño.

Si aún nos queda algúna línea que queramos hacer, escribiremos la función ‘line(x,y,a,b)’; siendo x la cordenada del eje x, y la de su respectivo eje y a y b el tamaño.

Para dibujar los semicírculos de la imagen haremos un círculo y encima un rectángulo cortándolo por la mitad.

Aquí os dejamos el solucionario por si habeis tenido algún problema.

Captura de pantalla de 2019-06-14 13-14-51

Por aquí os dejamos el link para el video tutorial de YouTube:

A continuación os proponemos un reto sobre el mismo tema que acabamos de tratar. En él tendréis que realizar un oso a través de círculos que se superponen. Habrá que crear un círculo para el cuerpo, cabeza,orejas, ojos, ozico y nariz.

También os dejo la solución, en la que he incorporado la realización de una elipse que forma el cuerpo. Esta se haría con la misma función que el círculo.

Por último he aquí un test para que valoréis lo aprendido.

1- Para determinar el tamaño de la pantalla usamos la función:

a)fill                                        b)void setup

c)background                      d)size

2- Para determinar el color de una figura usamos la función:

a)fill                                        b)color

c)ellipse                                 d)paint

3- Para dibujar un circulo usamos la función:

a)fill                                        b)circle

c)ellipse                                 d)size

4-  Cual es el limite de funciones que podemos usar?

a)0                                        b)Infinitas

c)16                                     d)Ninguna

5- Para dibujar un rectángulo usamos la función:

a)fill                                        b)rect

c)ellipse                                 d)cuadrant

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