3.7. Solució a l’exercici relacionat amb l’exemple 5-14
A priori, la solució és fàcil, només cal afegir un radius— a l’else. Però no funciona com esperaríem perquè, quan el radius és un nombre negatiu (cosa que és fàcil que passi), el cercle es va fent gran i no hi manera d’aturar-lo.
La solució passa per limitar, mitjançant una instrucció if el valor mínim de la variable radius. S’ha fixat a 10. Però podeu provar amb altres nombres.
var x = 120;
var y = 60;
var radius = 24;
function setup() {
createCanvas(240, 120);
ellipseMode(RADIUS);
}
function draw() {
background(204);
var d = dist(mouseX, mouseY, x, y);
if (d < radius) { radius++; fill(0); } else { if (radius > 10) {
radius--;
}
fill(255);
}
ellipse(x, y, radius, radius);
}