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

por que usar o if(desenha ) dentro da fun~]ap

boa tarde , alguem pode explicar por que usamos o if(desenha) na linha 22? pelo o que eu entendi foi que " Se desenha for verdadeiro" Executa o função "desenhaBolinha

<canvas width="600" height="400"></canvas>
<br>
Escolha uma cor <input type="color">
<script>


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

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



    var desenha = false
    var paleta = document.querySelector("input")


    function desenhaBolinha(evento){


        if(desenha){

        var x = evento.pageX - tela.offsetLeft
        var y = evento.pageY - tela.offsetTop

        pincel.fillStyle = paleta.value
        pincel.beginPath()
        pincel.arc(x, y, 10 ,0, 2*3.14)
        pincel.fill()

        console.log(x+","+y)
        }

    }




    tela.onmousemove = desenhaBolinha

    function habilitaMouse(){
        desenha = true
    }

    function desabilitaMouse(){
        desenha = false
    }

    tela.onmouseup = desabilitaMouse
    tela.onmousedown = habilitaMouse

</script>

1 resposta
solução!

Boa tarde, Jonatas! Tudo bem?

Usamos a condicional if(desenha) nessa lógica mesmo.

Quando o mouse está se movendo, ele chama a função desenhaBolinha. Dentro da função desenhaBolinha, ele só vai executar os comandos se a variável desenha for true.

A variável inicia false mas quando clicamos há a chamada da função habilitaMouse que transforma desenha em true, assim: se o mouse está sendo clicado, ou seja, a variável desenha = true, pode desenhar as bolinhas.

Bons estudos!