Interactive Video week5


IV_Week_5 from JeongHyo Bae on Vimeo.



Drop[] drops = new Drop[100];

void setup(){
  size(700,300);
  //duplicating
  for( int i=0; i<drops.length; i++){
  drops[i] = new Drop();
  }
}

float n=200;
float m=200;
boolean mouseClicked=false;


void draw(){
  background(140,200,255);
  //tree
  strokeWeight(1);
  stroke(37,29,19);
  fill(106,88,71);
  beginShape();
  vertex(500,300);
  vertex(460,270);
  vertex(450,240);
  vertex(452,180);
  vertex(455,150);
  vertex(440,120);
  vertex(530,70);
  vertex(700,-10);
  vertex(700,-100);
  vertex(0,-100);
  vertex(0,30);
  vertex(170,70);
  vertex(240,120);
  vertex(245,150);
  vertex(248,180);
  vertex(250,240);
  vertex(240,270);
  vertex(200,300);
  endShape();
  
  strokeWeight(1);
  stroke(37,29,19);
  fill(140,200,255);
  triangle(50,-10,200 ,-10,230,20);
  triangle(410,-10, 500,-10, 420,60);
    strokeWeight(5);
  stroke(255,255,255);
  
  //foot
  noStroke();
    strokeWeight(2);
  strokeCap(ROUND);
  strokeJoin(ROUND);
  fill(0);
 
  /*if(mouseClicked=true)
  {fill(random(255),random(255),random(255));
  }else{fill(0);}
  */
  beginShape();
  vertex(n,m);
  vertex(n-20,m-50);
  vertex(n+10,m-60);
  vertex(n+30,m-25);
  vertex(n+45,m-20);
  vertex(n+70,m-10);
  endShape();
  fill(255,255,255);
  beginShape();
  vertex(n,m);
  vertex(n+70,m-10);
  vertex(n+75,m+5);
  vertex(n+5,m+15);
  endShape();
  
  if(n+75>width){
    n=625;}
    if(n-20<0){
      n=20;}
      if(m-60<0){
        m=60;}
        if(m+15>300){
          m=275;}
   
   for( int i=0; i<drops.length; i++){
  drops[i].fall();
  drops[i].show();
   }

}

  void keyPressed() {
  if (keyCode == UP) {
   m=m-3;
  } else if (keyCode == DOWN) {
    m=m+3;
  } else if (keyCode == RIGHT) {
    n=n+3;
  } else if (keyCode == LEFT) {
    n=n-3;
  }   
}


///tap 2

class Drop {
  float x= random(width);
  float y= random(-300,-50);
  float xspeed= 2;
  float yspeed= random(0.5,2);
  float grav=random(2);

  void fall() {
   y = y + yspeed+grav;
  // x = x + xspeed+grav;
    if (y > height) {
      y = random(-200, -100);
       yspeed  = random(0.5,2);
    }
    /*if (){
      xspeed= xspeed*-1;
    }*/
  }

  void show() {
  noStroke();
  fill(202,166,192);
  ellipse(x+5,y,10,10);
  ellipse(x-5,y,10,10);
  ellipse(x,y+5,10,10);
  ellipse(x,y-5,10,10);
  fill(255,238,0);
  ellipse(x,y,5,5);
  }
}

덧글

댓글 입력 영역