2015年5月18日 星期一

Week13

-------------------------------↓↓切水果 水果亂數跳出↓↓-------------------------------




import SimpleOpenNI.*;
SimpleOpenNI openni;
class Fruit{
  float X, Y, VX, VY;
  Fruit(float x, float y,float vx, float vy){
    X=x; Y=x; VX=vx; VY=vy;
  }
  void draw(){
    ellipse(X, Y, 50, 50);
  }
  void update(){
    X+=VX; Y+=VY; VY+=1.98;
    if(X<-100||X>740||Y<-100||Y>580){
      X=random(640); Y=random(240); VX=random(30)-15; VY=-random(30);
    }
  }
}
Fruit fruit[] = new Fruit[20];
void setup(){
  size(640,480);
  openni = new SimpleOpenNI(this);
  openni.enableDepth();
  openni.enableUser();
  for(int i=0;i<20;i++)
    fruit[i] = new Fruit(random(640),random(240),random(30)-15,-random(30));
}
void draw(){
  openni.update();
  image(openni.userImage(),0,0);
  for(int i=0;i<20;i++){
    fruit[i].draw();
    fruit[i].update();
  }
}

-------------------------------↓↓切水果 用滑鼠控制↓↓-------------------------------


-------------------------------↓↓切水果 用手控制↓↓-------------------------------



import SimpleOpenNI.*;
SimpleOpenNI openni;
class Fruit{
  float X, Y, VX, VY;
  boolean dead = false;
  Fruit(float x, float y,float vx, float vy){
    X=x; Y=x; VX=vx; VY=vy; dead=false;
  }
  void draw(){
    if(dead) fill(255,0,0);
    else fill(255);
    ellipse(X, Y, 50, 50);
  }
  void update(){
    X+=VX; Y+=VY; VY+=1.98;
    if(X<-100||X>740||Y<-100||Y>580){
      X=random(640); Y=random(240); VX=random(30)-15; VY=-random(30); dead=false;
    }
    if(dist(X,Y,mouseX,mouseY)<50) dead=true;
  }
}
void mouseMoved(){
  strokeWeight(30);stroke(255,0,0);line(mouseX,mouseY,pmouseX, pmouseY);
  strokeWeight(1);stroke(0);
}
Fruit fruit[] = new Fruit[20];
void setup(){
  size(640,480);
  openni = new SimpleOpenNI(this);
  openni.enableDepth();
  openni.enableUser();
  for(int i=0;i<20;i++)
    fruit[i] = new Fruit(random(640),random(240),random(30)-15,-random(30));
}
void draw(){
  openni.update();
  image(openni.userImage(),0,0);
  for(int i=0;i<20;i++){
    fruit[i].draw();
    fruit[i].update();
  }
}

-------------------------------↓↓切水果 身體碰到水果變色↓↓-------------------------------



import SimpleOpenNI.*;
SimpleOpenNI openni;
class Fruit{
  float X, Y, VX, VY;
  boolean dead = false; 
  Fruit(float x, float y,float vx, float vy){
    X=x; Y=x; VX=vx; VY=vy; dead=false;
  }
  void draw(){
    if(dead) fill(255,0,0);
    else fill(255);
    ellipse(X, Y, 50, 50);
  }
  void update(){
    X+=VX; Y+=VY; VY+=0.68;
    if(X<-100||X>740||Y<-100||Y>580){
      X=random(640); Y=random(240); VX=random(10)-5; VY=-random(10); dead=false;
    }
    if(dist(X,Y,mouseX,mouseY)<50) dead=true;
    if(X>0 && X<640 && Y>0 && Y<480 && openni.userImage().pixels[int(X)+int(Y)*640]==color(0,0,255)) dead=true;
  }
}
void mouseMoved(){
  strokeWeight(30);stroke(255,0,0);line(mouseX,mouseY,pmouseX, pmouseY);
  strokeWeight(1);stroke(0);
}
Fruit fruit[] = new Fruit[20];
void setup(){
  size(640,480);
  openni = new SimpleOpenNI(this);
  openni.enableDepth();
  openni.enableUser();
  for(int i=0;i<20;i++)
    fruit[i] = new Fruit(random(640),random(240),random(30)-15,-random(30));
}  
void draw(){
  openni.update();
  image(openni.userImage(),0,0);
  for(int i=0;i<20;i++){
    fruit[i].draw();
    fruit[i].update();
  }
}

-------------------------------↓↓切水果 依方向切水果↓↓-------------------------------



import SimpleOpenNI.*;
SimpleOpenNI openni;
class Fruit{
  float X, Y, VX, VY,split=0, angle=0;
  boolean dead = false; 
  Fruit(float x, float y,float vx, float vy){
    X=x; Y=x; VX=vx; VY=vy; dead=false;
  }
  void draw(){
    if(dead) {fill(255,0,0);
    arc(X+split,Y,50,50,angle,angle+PI, CHORD);
    arc(X-split,Y,50,50,angle+PI,angle+PI*2, CHORD);
    }
    else {fill(255);
    ellipse(X, Y, 50, 50);}
  }
  void update(){
    X+=VX; Y+=VY; VY+=0.68;
    if(X<-100||X>740||Y<-100||Y>580){
      X=random(640); Y=random(240); VX=random(10)-5; VY=-random(10); dead=false; split=0;
    }
    if(dead==false && dist(X,Y,mouseX,mouseY)<50){
    dead=true;
    angle= atan2(mouseY-pmouseY,mouseX-pmouseX);
    }
    if(dead==false && X>0 && X<640 && Y>0 && Y<480 && openni.userImage().pixels[int(X)+int(Y)*640]==color(0,0,255)){ 
    dead=true;
    }
    if(dead) split+=2;
  }  
}
void mouseMoved(){
  strokeWeight(30);stroke(255,0,0);line(mouseX,mouseY,pmouseX, pmouseY);
  strokeWeight(1);stroke(0);
}
Fruit fruit[] = new Fruit[20];
void setup(){
  size(640,480);
  openni = new SimpleOpenNI(this);
  openni.enableDepth();
  openni.enableUser();
  for(int i=0;i<20;i++)
    fruit[i] = new Fruit(random(640),random(240),random(10)-5,-random(10));
}  
void draw(){
  openni.update();
  image(openni.userImage(),0,0);
  for(int i=0;i<20;i++){
    fruit[i].draw();
    fruit[i].update();
  }
}

沒有留言:

張貼留言