Catalina Fairlie Tarea6

De Casiopea
Catalina Fairlie Tarea 6


TítuloCatalina Fairlie Tarea 6
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 6
AsignaturaImagen Escrita 2012,
Del CursoImagen Escrita 2012, 1º Diseño 2012,
CarrerasArquitectura, Diseño Gráfico"Diseño Gráfico" is not in the list (Arquitectura, Diseño, Magíster, Otra) of allowed values for the "Carreras Relacionadas" property.
Alumno(s)Catalina Fairlie
ProfesorHerbert Spencer

Elemento[] cosas; int count;

Elemento especial;

void setup() {

cosas = new Elemento[10];
count = 0;
size(700, 700);
background(#F6F664);
especial = new Elemento(width/3, height/2);
especial.c = color(#D99ED5,15);
especial.d = 0;
especial.velx = 1;
especial.vely = 3;
especial.edadMax = 120;

}

void draw() {

for (int i = 2; i < count; i++) {
  cosas[i].existe();
}
especial.existe();

}


void mousePressed() {

cosas[count] = new Elemento(mouseX, mouseY);
cosas[count].velx = mouseX - pmouseY;
cosas[count].vely = mouseX - pmouseY;
count ++;

}

void keyPressed() {

cosas[count] = new Elemento();
  cosas[count].velx = mouseX - pmouseY;
cosas[count].vely = mouseX - pmouseY;
count ++;

}


class Elemento {

float x, y; // posición
float d; // diámtero
color c; 
float velx, vely; // velocidad
int edadMax;
int edad; 
Elemento(float posX, float posY) {
  x = posX;
  y = posY;
  c = color(200, 20, 224, 40);
  velx = vely = 0;
  edadMax = round(random(10, 500));
  edad = 0;
  d = random(-4, 80);
}
Elemento() {
  x = random(width);
  y = random(height);
  c = color(150,200,274,60);
  velx = vely = 3;
  edadMax = round(random(40, 400));
  edad = 0;
  d = random(2, -2);
}
void dibuja() {
  noStroke();
  fill(c);
  ellipse(x, x, x, x);
  edad ++;
  d -= 3;
}
void actualizaPosicion() {
  x += velx;
  y += vely;
}
void revisaSiRebota() {
  if ((x < d/1) || (x > width - (d/1))) {
    velx *= -1;
    vely += random(-1, 1);
    
  }
  if ((y < d/1) || (y > height - (d/1))) {
    vely *= 0;
    velx += random(0, 8);
    
  }
}


void existe() {
  if (edad < edadMax) {
    dibuja();
    actualizaPosicion();
    revisaSiRebota();
  }
}

}