106



int num = 80;
float x[] = new float[num];
float y[] = new float[num];
float velocity[] = new float[num];//速力
float radius[] = new float[num];//直径
float friction[] = new float[num];//摩擦
float acceleration[] = new float[num];//加速

void setup(){
size(300,300);
smooth();
noStroke();
ellipseMode(RADIUS);
for(int i =0; i < num; i++){
x[i] = random(width);
y[i] = random(height/2);
velocity[i] = 0.0;
radius[i] = random(5,15);
friction[i] = 0.999;
acceleration[i] = random(0.3,0.8);
}
}

void draw(){

fill(0,12);
rect(0,0,width,height);
fill(255);
for(int i =0; i < num; i++){
velocity[i] += acceleration[i];
velocity[i] *= friction[i];
y[i] += velocity[i];
if(y[i] > (height-radius[i])){
y[i] = height - radius[i];
velocity[i] = -velocity[i];
}
ellipse(x[i],y[i],radius[i],radius[i]);
}
}

コメント