xxxxxxxxxx
61
let bg;
let confetti = [];
function preload() {
bg = loadImage("./bg.png");
}
function setup() {
createCanvas(792, 448);
angleMode(DEGREES);
noStroke();
}
function draw() {
image(bg, 0, 0);
updateConfetti();
}
function updateConfetti() {
push();
translate(width/2, height/2);
for (let i = 0; i < confetti.length; i++) {
let c = confetti[i];
push();
rotate(c.direction);
translate(c.distance, 0);
fill(c.colour);
ellipse(0, 0, c.radius);
pop();
confetti[i].radius -= c.speed/2;
// confetti[i].radius = lerp (c.radius, 0, 0.05);
confetti[i].distance += c.speed*2;
// confetti[i].direction += c._curve/2;
if (confetti[i].radius < 5) {
confetti.splice(i, 1)
i--;
}
}
pop();
}
function mousePressed() {
for (let i = 0; i < 40; i++) {
confetti.push({
radius: random(20, 50),
colour: random(["#54DAFF", "#FFFFCE", "#FFA4FB"]),
direction: random(360),
distance: 0,
speed: random(1.5, 3.5),
_curve: random(-1, 1),
});
}
}