La solución que hice fue de lo más sencilla a comparación de la de la solución. Entiendo que no utilice arreglos ni nada para optimizar, sin embargo, quisiera saber los errores que cometi, o si de plano no es ni un poco viable mi solución.
Intente responderlo sin ayuda y pues no pude ni hacer funcionar el evento de clic derecho, no se si lo escribí mal, o es porque la logica dentro de la función está mal.
Este es mi código:
<canvas width="600" height="400"> </canvas>
<script>
var pantalla = document.querySelector("canvas");
var pincel = pantalla.getContext("2d");
var color = "blue" //Agregué esta linea para comenzar en blue.
pincel.fillStyle = "grey";
pincel.fillRect(0,0,600,400);
function exhibirAlerta(evento){
var x = evento.pageX - pantalla.offsetLeft; //pos x
var y = evento.pageY - pantalla.offsetTop; //pos y
console.log(evento);
alert(x + ", " + y);
}
function dibujarCirculo(evento){
var x = evento.pageX - pantalla.offsetLeft; //pos x
var y = evento.pageY - pantalla.offsetTop; //pos y
pincel.fillStyle = color; //Modifiqué esta línea para que se altere el color.
pincel.beginPath();
pincel.arc(x,y,10,0,2*3.14);
pincel.fill();
console.log(x + ", " + y);
}
//Creé esta función para alterar color.
function alterarColor(evento){
if(color=="blue"){
var color = "red";
alert("Haz cambiado al color 2: " + color);
}
if(color=="red"){
var color = "green";
alert("Haz cambiado al color 3: " + color);
}
if(color=="green"){
var color = "blue"
alert("Haz cambiado al color 1: " + color);
}
}
pantalla.onclick = dibujarCirculo;
//Aquí mandé a llamar a la función para alterar color mediante clic derecho
pantalla.oncontextmenu = alterarColor;
</script>