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=y; 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(15)-8; VY=-random(15); 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(15)-8, -random(15));}
}
void draw(){
openni.update();
image(openni.userImage(),0,0);
for(int i=0;i<20;i++){
fruit[i].draw();
fruit[i].update();
}
}



沒有留言:
張貼留言