Juan Hernández puntitos mágicos y hermosos

De Casiopea
Revisión del 09:46 24 may 2012 de Juanh328 (discusión | contribs.)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)
Tarea 6 Juan Hernández



TítuloTarea 6 Juan Hernández
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 6
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Juan Alejandro Hernández
 Elemento[] cosas; int count;

Elemento especial;

void setup() {

 cosas = new Elemento[600];
 count = 0;
 size(1000, 800);
 background(#E3DADB);
 especial = new Elemento(width/4, height/2);
 especial.c = color(4, 8, 100);
 especial.d = 9;
 especial.velx = 3/2;
 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(#6CAEE3);
   velx = vely = 0;
   edadMax = round(random(800, 200));
   edad = 1/2;
   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(155, 70);
 }
 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 == 'a') 
  stroke (69, 300, 60);
}
}