p5js/particle_demo.js
2022-12-11 23:34:40 +08:00

31 lines
664 B
JavaScript

let particles = [];
function setup() {
cursor(CROSS);
colorMode(HSB);
createCanvas(700, 500);
}
function draw() {
background("rgba(0,0,0,0.05)");
particles.forEach((ps, i) => {
if (ps.lifeover()) {
particles.splice(i, 1);
} else {
ps.update();
ps.show();
}
});
}
function mouseClicked() {
let ps = new Particles(mouseX, mouseY, 100);
let hue = random(0, 360);
ps.particles.forEach((p) => {
p.hue = hue;
p.saturation = 50;
p.velocity = p5.Vector.random2D().mult(random(0, 30));
});
particles.push(ps);
}