2015年5月18日 星期一

01160873_林瑋真


用滑鼠分割


發現被身體感應到的地方一樣可以


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

發現error ,被分割過的球,又被分割一次了~



球只能分割一次-成功=)

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





沒有留言:

張貼留言