簡易的水果忍者
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;
}
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); 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];
float fruitX=100, fruitY=400, fruitVX=4, fruitVY=-26;
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);
//ellipse(fruitX,fruitY,50,50);
for(int i=0; i<20; i++)
{
fruit[i].draw();
fruit[i].update();
}
//fruitX+=fruitVX;
//fruitY+=fruitVY;
//fruitVY +=1.98
}
沒有留言:
張貼留言