99



int num =80;
Spot[] sp = new Spot[num];

void setup(){
size(400,200);
smooth();
noStroke();
for(int i =0; i < num; i++){
sp[i]=new Spot(random(width),random(height),random(5,20),random(0.2,1.8),random(0.3,1.2));
//sp = new Spot(33,50,30,1.0,1.2);
}
}
void draw(){
fill(0,15);
rect(0,0,width,height);
for(int i =0; i < num; i++){

sp[i].move();
sp[i].display();
}
}


class Spot{
float x,y,diameter,speedx,speedy;

Spot(float xpos, float ypos, float dia,float spdx,float spdy){
x = xpos;
y = ypos;
diameter = dia;
speedx = spdx;
speedy = spdy;
}

void move(){

if((x+diameter/2 > width)||(x-diameter/2 < 0)){
speedx = -speedx;
}
x += speedx;
if((y+diameter/2>height)||(y-diameter/2<0)){
speedy = -speedy;
}
y+=speedy;
}
void display(){
fill(255);
ellipse(x,y,diameter,diameter);
}
}

コメント