En este código creo un círculo y lo coloco donde quiero en el lienzo; Quiero eliminarlo después de hacer clic en él y, si vuelvo a hacer clic, mostrarlo. ¿Como puedo hacer esto?
var createCircle = new ShootyController(); createCircle.x; createCircle.y; createCircle.radius = 10; createCircle.color = "red"; canvas.addEventListener( "click", function (e) { createCircle.x = e.clientX; createCircle.y = e.clientY; createCircle.x -= canvas.offsetLeft; createCircle.y -= canvas.offsetTop; }, {once: true} );Tienes que despejar la parte del lienzo donde se dibuja tu círculo.
let canvas = document.getElementById("myCanvasID"); let context = canvas.getContext('2d'); context.clearRect(0, 0, canvas.width, canvas.height);