Processing系列 雨
http://yuanren.cc/wp-content/uploads/2015/08/rain.png代码如下:
使用了Processing自带的粒子系统,系统配置较低的电脑如果卡就调低一下粒子总数
ArrayList<Particle> particles;
void setup() {
size(300, 300);
ellipseMode(RADIUS);
noFill();
particles = new ArrayList<Particle>();
}
void draw() {
background(0);
if (particles.size() < 200) particles.add(new Particle());
for (Particle p : particles) {
p.update();
p.display();
}
}
class Particle {
float x, y, vy, ty, r, tr, w;
Particle() {
reset();
}
void reset() {
x = random(width);
y = random(-150, 0);
vy = random(2, 4);
ty = y + height;
r = 0;
tr = 50;
w = random(.1, 2);
}
void update() {
if (y < ty) {
y += vy;
} else {
r++;
}
if (r > tr) reset();
}
void display() {
strokeWeight(w);
if (y < ty) {
stroke(255);
point(x, y);
} else {
stroke(255, map(r, 0, tr, 255, 0));
ellipse(x, y, r, r*.5);
}
}
}授权转载自 任远媒体实验室
页:
[1]