2018年10月18日 星期四

week06 1018

1.


水果拋物線
float fruitX, fruitY, fruitVX, fruitVY;
void setup(){
  size(800,600);
  fruitX=30;    fruitVX=3;
  fruitY=700;   fruitVY=-35;
}
void draw(){
    background(0);
    ellipse(fruitX, fruitY, 100,100);
    fruitX+=fruitVX;
    fruitY+=fruitVY;
    fruitVY+=0.98;
}

2.


很多顆平行拋物線
//float fruitX, fruitY, fruitVX, fruitVY;
float [] fruitX=new float[20];
float [] fruitY=new float[20];
float [] fruitVX=new float[20];
float [] fruitVY=new float[20];
void setup(){
  size(800,600);
  for(int i=0;i<20;i++){
  fruitX[i]=random(800);    fruitVX[i]=3;
  fruitY[i]=700;   fruitVY[i]=-35;
  }
}
void draw(){
    background(0);
    for(int i=0;i<20;i++){
    ellipse(fruitX[i], fruitY[i], 100,100);
    fruitX[i]+=fruitVX[i];
    fruitY[i]+=fruitVY[i];
    fruitVY[i]+=0.98;
    }
}

3.

float [] fruitX=new float[20];
float [] fruitY=new float[20];
float [] fruitVX=new float[20];
float [] fruitVY=new float[20];
void reborn(int i){
  fruitX[i]=random(800);    fruitVX[i]=random(6)-3;
  fruitY[i]=700;   fruitVY[i]=-35;
}
void setup(){
  size(800,600);
  for(int i=0;i<20;i++){
    reborn(i);
  }
}
void draw(){
    background(0);
    for(int i=0;i<20;i++){
      if(dist(mouseX, mouseY,fruitX[i],fruitY[i])<=50){
        reborn(i); continue;
    }
    ellipse(fruitX[i], fruitY[i], 100,100);
    fruitX[i]+=fruitVX[i];
    fruitY[i]+=fruitVY[i];
    fruitVY[i]+=0.98;
    if(fruitY[i]>700) reborn(i);
    }
}

沒有留言:

張貼留言