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

Pintar com várias cores...

Tentei fazer uma alteração para que saísse com várias cores, mas não consegui.. Fica só na cor vermelha.. :( Help! Obrigada!

<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);

    var desenho = false;
    var cor = ['red', 'orange', 'yellow', 'green', 'blue', 'purple'];
    var corAtual = 0;

    function desenhaCirculo(evento) {
        if (desenho){
            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = cor [corAtual];
            pincel.beginPath();
            pincel.arc(x, y, 10, 0, 2 * 3.14);
            pincel.fill();
              console.log(corAtual);

        }

        corAtual = corAtual++;
        if (corAtual >= cor.length) {
        corAtual = 0;
        }
        return false;
    }


    tela.onmousemove = desenhaCirculo;

    function habilitaDesenhar(){

        desenho = true;

    }


   function desabilitaDesenhar(){

        desenho = false;
    }

    tela.onmousedown = habilitaDesenhar;

    tela.onmouseup = desabilitaDesenhar;

</script>
2 respostas
solução!

Oi Lilian Kotvan seguinte se você trocar essa linha:

 corAtual = corAtual++;

por

corAtual++;

Ele vai imprimir colorido com as cores que você declarou no array é esse o efeito desejado? que fique trocando?Se for é isso.

Lembrando que corAtual++ é o mesmo que :

corAtual = corAtual + 1; ou corAtual +=1;

Quando você faz corAtual++ você incrementa a variável mas esse incremento só passa a valer na proxima instrução por isso a atribuição continua 0 o que chamamos de pós incremento. Se vc quisesse fazer o pré incremento o correto seria ++corAtual aí sim o valor desse incremento já seria atribuido a variável ficaria assim;

corAtual = ++corAtual;

Espero ter ajudado e bons estudos.

Sim! Não acredito que estava tão fácil! :-) Obrigada!