En esta sección encontrarás diferentes ejercicios que te ayudarán a entender mejor las posibilidades que te ofrece Processing.
1. Coordenadas
- Escribe un programa que dibuje las iniciales de tu nombre utilizando gráficas simples como un arco o una línea.
Código
Este es el código que debes utilizar para resolver el ejercicio.
Session 1 Exercise 2 */ //Define the width and height of the canvas size(600, 400); //Define line stroke strokeWeight(5); //Draw letter "d" for David in black line(250, 100, 250, 300); line(250, 300, 50, 300); line(50, 300, 50, 200); line(50, 200, 250, 200); //Draw letter "c" for Cuartielles in red stroke(255, 0, 0); line(550, 200, 350, 200); line(350, 200, 350, 300); line(350, 300, 550, 300);
source: https://bit.ly/28PddoI
Comandos
- size(x, y) define el ancho y la altura en píxeles de la zona de trabajo.
- strokeWeight(n) define el ancho de los trazos, la línea o el contorno de las formas. El parámetro «n» define el ancho en píxeles.
- line(x1,y1,x2,y2) dibuja una línea desde las coordenadas (x1,y1) a las coordenadas (x2,y2).
- arc(x,y,w,h,start,stop) o arc(x,y,w,h,start,stop,mode) dibuja un arco dónde «x» y «y» definen las coordenadas dónde estará el arco y, «w» y «h» definen el ancho y la altura , respectivamente de la elipse del arco. Los parámetros «Start» y «Stop» definen los ángulos de principio y final en radiantes. También se puede añadir un parámetro adicional («mode») que define el modo de dibujar el arco. Puede ser «OPEN», «PIE» o «CHORD». Por defecto, el arco se pinta en modo «OPEN».
- arc() es un buen ejemplo de una función que podría ser utilizada de distintas maneras.
2. Movimientos simples
Escribe un programa que mueva una gráfica simple en función de los movimientos del ratón. Utiliza las variables mouseX y mouseY para controlar el movimiento de esta gráfica.Código
Este es el código que debes utilizar para resolver el ejercicio.
/* Session 1 Exercise 3 */ void setup() { size(400, 400); } void draw() { background(222); //Draw an ellipse that moves according to "X" and "Y" mouse coordinates ellipse(mouseX, mouseY, 30, 30); }
source: https://bit.ly/28NIzNE
Comandos
- void setup() es el método principal de Processing. Se ejecuta solo una vez, cuando el programa está empezando.
- void draw() es el código principal del programa de Processing.
- background(r,g,b) o background(x) define el color de fondo de pantalla de tu zona de trabajo. Si hay tres parámetros(r,g,b) el primer parámetro corresponde al valor de rojo, el segundo al valor de verde y el tercero al valor de azul. Por otro lado, si solo hay un parámetro(x) , este parámetro define la cantidad de rojo, verde y azul con un único valor.
- ellipse(x,y,w,h) dibuja una elipse dónde los dos primeros parámetros definen las coordenadas(x,y,) y los dos últimos parámetros definen el ancho y la altura de la forma.
- mouseX y mouseY devuelven la posición del ratón en «x» y «y».
3. Pelota rebotadora
- Escribe un programa dónde se mueva una elipse alrededor de la zona de trabajo y que ésta rebote cuando choque contra los bordes de la ventana.
Código
Este es el código que debes utilizar para resolver el ejercicio.
/* Session 1 Exercise 4 */ //Position Variables int posX=100; int posY=100; //Direction Variables int dirX=1; int dirY=1; void setup() { size(600, 400); } void draw() { background(222); //X-axis calculation posX=posX+dirX; if (posX>width) { dirX=-1; } if (posX<0) { dirX=1; } //Y-axis calculation posY=posY+dirY; if (posY>height) { dirY=-1; } if (posY<0) { dirY=1; } //Draw the primitive shape ellipse(posX, posY, 30, 30); }
source: https://bit.ly/28PdI1L
Comandos
- int define una variable del tipo entero.
- El comando if funciona como una condición, dónde el código que hay entre corchetes solo se ejecuta si la condición es cierta.
4. Cargar imagenes
- Escoge dos imágenes y utilízalas en el programa de Processing. Deberás modificarlas ( reducir su medida y/o resolución) para que puedan estar dentro de la zona de trabajo.
Código
Este es el código que debes utilizar para solucionar el ejercicio.
/* Session 2 exercise 1 */ //Create the objects for the two images PImage img1; PImage img2; void setup(){ size(600,400); //Load the images to the sketch img1=loadImage("moon-wide.jpg"); img2=loadImage("ystone08.jpg"); } void draw(){ //Place the images on the canvas image(img1,0,0,300,400); image(img2,300,0,300,400); }
source: https://bit.ly/28NIKZs
Comandos
- PImage define un objeto vacio donde podrás guardar la imagen que utilizaras en tu programa.
- loadImage(n) carga la imagen y utiliza como parámetro el nombre de la imagen. Recuerda que las imágenes deben estar guardadas en la carpeta de datos del programa de Processing.
- image(n,x,y,w,h) o image(n,x,y) muestran la imagen previamente definida. El primer parámetro es el nombre de PImage, los siguientes definen las coordenadas dónde se mostrará la imagen y , de manera opcional, también puedes definir el ancho y la altura de la imagen.
5. Cargar imágenes PNG y utilizar el teclado
- Escribe un programa que tenga como fondo de pantalla una imagen. Además, define otra imagen del tipo PNG a la parte superior del programa, que se pueda ir moviendo en función de la interacción que tengas con el teclado.
Código
Este es el código que debes utilizar para solucionar el ejercicio.
/* Session 2 Exercise 3 */ //Create the objects for the two images PImage background; PImage character; //Create a variable that will control the X position int posX=100; void setup() { size(600, 400); //Load the images to the sketch background=loadImage("forest.png"); character=loadImage("worm.png"); } void draw() { //Create the background first image(background, 0, 0); //Now the character will move along the X-axis with the mouse position image(character, posX, 300, 100, 100); } //Overwrite the keyPressed function void keyPressed() { //If 'a' key is pressed, the character will go left if (key=='a') { posX=posX-1; } //If 'd' key is pressed, the character will go right if (key=='d') { posX=posX+1; } }
source: https://bit.ly/28OnVLd
Comandos
- void keyPressed() es una función de Processing que se llama cada vez que hay una interacción con el teclado.
- key devuelve el valor de la tecla que se ha pulsado.
6. Crea un reloj
- Escribe un programa que utilice las funciones de tiempo para crear un reloj que muestre la hora, utilizando texto, en la pantalla.
- Utiliza el siguiente archivo y añádelo igual que has hecho anteriormente con las imagenes.
Código
Este es el código que debes utilizar para solucionar el ejercicio.
/* Session 2 Exercise 4 Load external font */ //Create the font object PFont font; //Create a String variable to store the hour, minute and second values String tiempo; void setup(){ size(600,400); //Load the external font which is located in the data folder font=loadFont("DejaVuSerifCondensed-32.vlw"); //Define the font and its size textFont(font,32); } void draw(){ background(222); //Link time values using + //Also use str to convert the variables into a string tiempo=str(hour())+':'+str(minute())+':'+str(second()); //Create the text on the screen text(tiempo,220,200); }
source: https://bit.ly/28Rv4j4
Comandos
- PFont crea un nuevo objeto del tipo Font que determinará que tipo de fuente utilizaremos para el texto.
- loadFont(n)carga la fuente que le has pasado por parámetro(«n») en el objeto PFont previamente definido.
- Los comandos hour(), minute() y second()devuelven el valor del reloj del ordenador.
- text(s, x, y) muestra el texto a la pantalla. El primer parámetro es el texto que quieres mostrar. Los otros dos parámetros son las coordenadas dónde vas a mostrar el texto.