1
resposta

RESPOSTA ALTERNATIVA

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

<script>

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

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


    var cores = ["lightblue","red","lightgreen"];
    var posicao = 0

    var raio = 10

    function desenhaCirculo(evento) {

        var x = evento.pageX - tela.offsetLeft;
        var y = evento.pageY - tela.offsetTop;
        pincel.fillStyle = cores[posicao];
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * 3.14);
        pincel.fill();

        if (evento.shiftKey == true && evento.altKey == false){

            if (raio >= 10 && raio <= 30){
                pincel.arc(x, y, raio, 0, 2 * 3.14);
                pincel.fill();
                raio = raio + 10
            }
        }

        if(evento.shiftKey == false && evento.altKey == true){

            if(raio >= 15 && raio <= 40) {
                pincel.arc(x, y, raio, 0, 2 * 3.14);
                pincel.fill();
                raio = raio - 5
            }
        }

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

    tela.onclick = desenhaCirculo;

    function mudaCor() {

        posicao++
        if (posicao >= cores.length) {
            posicao = 0
        }
        alert(posicao);
        return false;
    }


        tela.oncontextmenu = mudaCor;


</script>
1 resposta

Boa Izabele Soares,

Gostei da solução que você propôs, afinal o resultado é o mesmo porém o código me parece muito mais robusto.

Para que mais pessoas consigam visualizar a sua solução proposta é recomendável com que você venha estar marcando este tópico como solucionado, assim pode estar ajudando ainda mais pessoas :)

Obrigado!!