Filippa Massa - Tarea 6 - 2012
De Casiopea
Título | Filippa Massa - Tarea 6 - 2012 |
---|---|
Tipo de Proyecto | Proyecto de Curso |
Palabras Clave | tarea 6 |
Período | 2012- |
Asignatura | Imagen Escrita 2012, |
Del Curso | Imagen Escrita 2012, |
Carreras | Arquitectura |
Alumno(s) | Filippa Massa |
Profesor | Herbert Spencer |
Elemento[] cosas; int count;
Elemento especial;
void setup() {
cosas = new Elemento[500]; count = 0; size(800, 800); background(35,211,225); especial = new Elemento(width/4, height/2); especial.c = color(154, 54, 255); especial.d = 10; especial.velx = 3; especial.vely = 7; especial.edadMax = 3000;
}
void draw() { saveFrame("Tarea_6.jpg");
for (int i = 0; i < count; i++) { cosas[i].existe(); } especial.existe();
}
void mousePressed() {
cosas[count] = new Elemento(mouseX, mouseY); cosas[count].velx = mouseX - pmouseX; cosas[count].vely = mouseY - pmouseY; count ++;
}
void keyPressed() {
cosas[count] = new Elemento(); count ++;
}
/*--------------------------------------------------------------*/
class Elemento {
float x, y; float d; color c; float velx, vely; int edadMax; int edad;
Elemento(float posX, float posY) { x = posX; y = posY; c = color(250, 160, 25); velx = vely = 0; edadMax = round(random(800, 200)); edad = 0; d = random(25, 20); }
Elemento() { x = random(width); y = random(height); c = color(250, 160, 25); velx = vely = 0; edadMax = round(random(800, 200)); edad = 0; d = random(25, 20); }
void dibuja() { noStroke(); fill(c); ellipse(x, y, d, d); edad ++; d -= 0.1; }
void actualizaPosicion() { x += velx; y += vely; }
void revisaSiRebota() { if ((x < d/2) || (x > width - (d/2))) { velx *= -1; vely += random(-1, 1); }
if ((y < d/2) || (y > height - (d/2))) { vely *= -1; velx += random(-1, 1); } }
void existe() { if (edad < edadMax) { dibuja(); actualizaPosicion(); revisaSiRebota(); } } void keyPressed() {
if (key == 't') stroke (250, 160, 25); }
}