Acabo de empezar a aprender p5.js y tengo una pregunta con los colores aleatorios. En este momento veo que el color se restablecerá aleatoriamente solo cuando reinicie el código. Pero, ¿es posible hacer que suceda cada vez que se presiona el mouse?
Aquí está mi código:
let r, g, b; function setup() { createCanvas(400, 400); r = random(255); g = random(255); b = random(255); } function draw() { if (mouseIsPressed) { fill(r,g,b); } else { fill(255); } ellipse(mouseX, mouseY, 80, 80); } <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>Rabbid76 tiene razón en que necesita sobrescribir las variables r , g , b si su objetivo es conservar esos valores después de soltar el mouse, pero sugeriría hacerlo dentro de la función global mousePressed para que no ocurran múltiples activadores.
let r; let g; let b; function setup() { createCanvas(400, 400); randomizeColors(); } function draw() { fill(r, g, b); ellipse(mouseX, mouseY, 80, 80); } function mousePressed() { randomizeColors(); } function randomizeColors() { r = random(255); g = random(255); b = random(255); } <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.1/p5.min.js"></script>Tienes que crear nuevos valores r , g y b cuando se presiona el mouse:
let r = 255, g = 255, b = 255; function setup() { createCanvas(400, 400); } function mousePressed() { r = random(255); g = random(255); b = random(255); } function draw() { fill(r, g, b); ellipse(mouseX, mouseY, 80, 80); } <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.min.js"></script>