Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Código parece idêntico ao do professor mas bolinha não volta para cores[i]

A dúvida é literalmente o título do post. Meu código parece estar igual ao do professor mas, testando aqui, minha bolinha nunca volta para a cor azul (primeira cor, cores[0]) (também desconfio que eu esteja com problema no mouse e isso pode interferir).

Podem me dar uma luz, por favor?

<canvas width= "600" height = "400">


<script>
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');

    pincel.fillStyle = 'grey';
    pincel.fillRect(0, 0, 600, 400);

    var cores = ["blue", "red", "green"];
    var i = 0;

    function desenhaBolinha(evento){

        var x = evento.pageX - tela.offsetLeft; // para tirar a "bordinha" antes da tela
        var y = evento.pageY - tela.offsetTop;

        //para desenhar uma boplinha
        pincel.fillStyle = cores[i];
        pincel.beginPath();
        pincel.arc(x, y, 10, 0, 2*Math.PI);
        pincel.fill();

    }

    function mudaCor() {

        i = i+1;

        if(i >= cores.lenght){
            i = 0;

        }

        return false;
    }




    tela.oncontextmenu = mudaCor;
    tela.onclick = desenhaBolinha;


</script>
2 respostas
solução!

Oi Maria, tudo bem?

O seu código está perfeito, porém não funciona devido à um errinho de digitação. Note que na linha

if(i >= cores.lenght){

você escrever lenght, quando na verdade o correto é length. Isso deve resolver o seu problema! :)

Obrigada, Henrique, super falta de atenção. Abraço!