1
resposta

Por que declarar a variável desenha = false?

Não entendi por que teve que declarar a variável desenha como false ao final, se ela já está declarada nas funções habilitaDesenhar e desabilitaDesenhar.

var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = 'lightgray';
    pincel.fillRect(0, 0, 600, 400);

 var desenha = false;
    var corAtual = 'blue';
    var xVermelho = 0;
    var xVerde  = 50;
    var xAzul = 100;
    var yQuadrados = 0;
    var tamanhoQuadrados = 50;

    desenhaPaletaDeCores();

    tela.onmousemove = lidaComMovimentoDoMouse;

    tela.onmousedown = habilitaDesenhar;

    tela.onmouseup = desabilitaDesenhar;

    tela.onclick = selecionaCor;

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
1 resposta

A variável deve ser declarada como false ao final, porque, uma vez que ela passa pra true, ela permanece assim, até que você diga no código que "quando não estiver mais desenhando, o desenha é false", senão, você ia continuar riscando a tela depois de parasse de clicar com o mouse.

Espero ter ajudado.