Estou trabalhando no programa3, em que o botão direito do mouse troca a cor do circulo que será impresso na tela. Entretanto, estou com 2 problemas: O primeiro é que, quando chego a última cor, não volta para primeira; O segundo é que, mesmo com o return false; no função mudaCor, ainda abre o menu no canvas.
Segue codígo:
<canvas width="600" height="400"></canvas>
<script>
var tela = document.querySelector ("canvas");
var pincel = tela.getContext ("2d");
pincel.fillStyle = "grey";
pincel.fillRect (0, 0, 600, 400);
function desenhaCirculo (evento){
var x = evento.pageX - tela.offsetLeft;
var y = evento.pageY - tela.offsetTop;
pincel.fillStyle = cores [indiceDeCores];
pincel.beginPath ();
pincel.arc (x, y, 10, 0, 2 * 3.14);
pincel.fill ();
console.log (x + "," + y);
}
tela.onclick = desenhaCirculo;
var cores = ["blue", "red", "green"];
var indiceDeCores = 0;
function mudarCor (cor){
indiceDeCores ++
if (indiceDeCores >= core.length){
indiceDeCores = 0;
}
return false;
}
tela.oncontextmenu = mudarCor;
</script>