Daniel Moris: Objetos
De Casiopea
Título | Daniel Moris: Objetos |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | tarea 6 |
Asignatura | Imagen Escrita 2012, |
Del Curso | Imagen Escrita 2012, |
Carreras | Arquitectura |
Alumno(s) | Daniel Moris |
Profesor | Herbert Spencer |
La idea del trabajo es realizar una sucesión de pelotas de mismo tamaño,percambiando sus atributos de color y posición. Se crean entonces, múltiples objetos que moviéndose a diferentes velocidad generan un efecto visualllamativo. --------------------- //Aquí se crean los objetcs "pelota". Digo que la pelota es una variable global. Pelota laPelota; Pelota laPelota2; Pelota laPelota3; Pelota laPelota4; Pelota laPelota5; Pelota laPelota6; Pelota laPelota7; Pelota laPelota8; Pelota laPelota9; Pelota laPelota10; Pelota laPelota11; Pelota laPelota12; //Todo lo que va en setup "iniciará" lo que son las pelotas. Se define el tamaño del lienzo así como la ubicación, velocidad y color de las pelotas. void setup() { size(200, 600); laPelota = new Pelota(color(255, 0, 0), 0, 25, 20); laPelota2 = new Pelota(color(#CE0FF5), 0, 75, 10); laPelota3 = new Pelota (color(#11CEAD), 0, 125, 15); laPelota4 = new Pelota (color(#9AC925), 0, 175, 20); laPelota5 = new Pelota (color(#0D2FD3), 0, 225, 10); laPelota6 = new Pelota (color(#E0BB00), 0, 275, 15); laPelota7 = new Pelota (color(#03FF00), 0, 325, 20); laPelota8 = new Pelota (color(#FF00FB), 0, 375, 10); laPelota9 = new Pelota (color(#A00AFF), 0, 425, 15); laPelota10 = new Pelota (color(#2C3095), 0, 475, 20); laPelota11 = new Pelota (color(#12FFD5), 0, 525, 10); laPelota12 = new Pelota (color(#BBFF12), 0, 575, 15); } //El comando draw hace que finalmente las pelotas aparezcan en escena. void draw() { background(255); laPelota.move(); laPelota.display(); laPelota2.move(); laPelota2.display(); laPelota3.move(); laPelota3.display(); laPelota4.move(); laPelota4.display(); laPelota5.move(); laPelota5.display(); laPelota6.move(); laPelota6.display(); laPelota7.move(); laPelota7.display(); laPelota8.move(); laPelota8.display(); laPelota9.move(); laPelota9.display(); laPelota10.move(); laPelota10.display(); laPelota11.move(); laPelota11.display(); laPelota12.move(); laPelota12.display(); } //Aquí se define de qué está compuesta la clase Pelota. Esta parte está extraída, en su mayoría, de un ejemplo del libro "Learning Processing". class Pelota { //variables de la pelota color c; //el color float xpos; //la posición en x float ypos; //la posición en y float xspeed; //la velocidad que tendrá al moverse en el eje de las x Pelota(color tempC, float tempXpos, float tempYpos, float tempXspeed) { //estas son las variables c = tempC; xpos = tempXpos; ypos = tempYpos; xspeed = tempXspeed; } void display() { //la función a usar stroke(0); rectMode(CENTER); fill(c); ellipse(xpos, ypos, 50, 50); } void move() { /*este es el patrón de movimiento. El comando if sirve para decir que si la posición se torna menor que el ancho volverá a posicionarse en 0, que es la posición inicial. Lo que pasa es que cuando la pelota llega al margen, continúa avanzando, pero apenas pasa éste su ancho deja de ser 50 y pasa a ser 49. En el momento que esto ocurre, retornará a la posición inicial */ xpos = xpos + xspeed; if (xpos > width) { xpos = 0; } } } void keyPressed() { if (key == 's') { // graba saveFrame("img/######.jpg"); } }