miércoles, 18 de febrero de 2015

SERPIENTE ROJA

En este proyecto se trata de hacer que una esfera roja inicialmente se desplaze por la ventana cambiando de color y tamaño, de ahí su nombre. Aquí os muestro el proceso.

int rojo = 255;
int tiempo = 0;
int diametro = 50;
 
void setup() {
  size(400, 400);
}

void draw() {
  tiempo = tiempo + 1;   
  rojo = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20)));
  diametro = int(50 * (1 + sin( tiempo * 2 * PI / frameRate / 5)));
  
  noStroke();           
  fill(rojo, 0, 0, 50);
  ellipse(mouseX, mouseY, diametro, diametro);
}



int rojo = 255;
int tiempo = 0;
int diametro = 50;
 
void setup() {
  size(400, 400);
}

void draw() {
  tiempo = tiempo - 1;   
  rojo = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20)));
  diametro = int(50 * (1 + sin( tiempo * 2 * PI / frameRate / 8)));
   if (diametro > 200) {
  noStroke();           
  fill(rojo, mouseX, 0, mouseY);
  rect(mouseX, mouseY, diametro/2, diametro/2);
} else {
  stroke(mouseX,mouseY,rojo);
  ellipse(mouseX,mouseY,diametro/3,diametro/3);
  tiempo = tiempo + 1;   
  rojo = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20)));
  diametro = int(50 * (1 + sin( tiempo * 2 * PI / frameRate / 7)));
}
if (diametro > 100) {
  stroke(mouseX,mouseY,rojo);
  ellipse(mouseX,mouseY,diametro/3,diametro/3);
} else {
  noStroke();           
  fill(rojo, mouseX, mouseY);
  rect(mouseX, mouseY, diametro/2, diametro/2);
  tiempo = tiempo + 1;   
  rojo = int(128 * (1 + sin(tiempo * 2 * PI / frameRate / 20)));
  diametro = int(50 * (1 + sin( tiempo * 2 * PI / frameRate / 5)));
}
}


Y este es el resultado final, después de añadirle variables de color y 2 condiciones con los comandos if (){} y else {}. Os dejo la animación para que probéis el resultado: