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); }