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

Em comparação com a solução, meu código não é enxuto! kkk

<meta charset="UTF-8">
<canvas width = "600" height = "400"></canvas>
<button>eliminar</button>

<script>

    var tela = document.querySelector("canvas");
    var apagar = document.querySelector("button");
    var pincel = tela.getContext("2d");
    var raio = 10;

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

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

    function desenhaCirculo(evento){

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

        if (evento.shiftKey){

            raio = raio + 20;

        }

        if (evento.altKey){

            raio = raio - 5;
        }

        if (raio >= 10 && raio < 40){

            pincel.fillStyle = cores[i];
            pincel.beginPath();
            pincel.arc(x, y, raio, 0, 2 * 3.14);
            pincel.fill();

            console.log("Posição do clique " + "(" + x + "," + y + ")");

        }
    }

    function mudaCor(){

        i++;

        if(i >= cores. length){

            i = 0;
        }

        return false;        
    }

    function apagaTudo(){

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

    }

    tela.onclick = desenhaCirculo;
    tela.oncontextmenu = mudaCor;
    apagar.onclick = apagaTudo;

</script>
2 respostas
solução!

Nem preocupe com isso agora, Thiago!

Faça o máximo para chegar a solução do problema para depois pensarmos em deixar mais enxuto.

É o que eu sempre digo, pratique sempre!

Esses mesmos códigos que tem feito, você verá daqui a uns dois ou três meses e terá uma outra visão em cima deles!

Um abraço e bons estudos

Sensacional! Muito obrigado!