Daniel Moris: Objetos

De Casiopea
Daniel Moris: Objetos


TítuloDaniel Moris: Objetos
Tipo de ProyectoProyecto de Curso
Palabras Clavetarea 6
AsignaturaImagen Escrita 2012,
Del CursoImagen Escrita 2012,
CarrerasArquitectura
Alumno(s)Daniel Moris
ProfesorHerbert 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");
  }
}