Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Não troca as cores.

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>
1 resposta
solução!

Oi Luiz! Ainda não cheguei nessa aula, mas dentro da função muda cor, onde está core.length não deveria ser cores.length?

Espero ter ajudado.