45 lines
1.0 KiB
JavaScript
45 lines
1.0 KiB
JavaScript
let circle_xy_list = [];
|
|
|
|
function setup() {
|
|
createCanvas(400, 400);
|
|
}
|
|
|
|
function draw() {
|
|
background(220);
|
|
|
|
// draw circles
|
|
for (let i = 0; i < circle_xy_list.length; i++) {
|
|
[circle_x, circle_y, circle_r] = circle_xy_list[i];
|
|
|
|
if (mouse_pressed && circle_x == mouseX && circle_y == mouseY) {
|
|
// grow circle
|
|
circle_xy_list[i][2] = circle_xy_list[i][2] + 1;
|
|
} else {
|
|
if (circle_xy_list[i][2] > 0) {
|
|
// deprecate circle after click
|
|
circle_xy_list[i][2] = circle_xy_list[i][2] - 0.1;
|
|
}
|
|
}
|
|
|
|
// output circle, if radius larger than zero
|
|
if (circle_xy_list[i][2] > 0){
|
|
circle(circle_x, circle_y, circle_r * 2);
|
|
}
|
|
}
|
|
}
|
|
|
|
function mouseReleased() {
|
|
// console.log({ mouse_release: [mouseX, mouseY] });
|
|
mouse_pressed = false;
|
|
mouse_released = true;
|
|
}
|
|
|
|
function mousePressed() {
|
|
// console.log({ mouse_press: [mouseX, mouseY] });
|
|
mouse_pressed_xy = [mouseX, mouseY, 1];
|
|
mouse_pressed = true;
|
|
mouse_released = false;
|
|
|
|
circle_xy_list.push(mouse_pressed_xy);
|
|
}
|