1
resposta

Solução

<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 cor = ['blue', 'red', 'green'];
    i = 0;

    function desenhaCirculo(evento) {

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

        pincel.fillStyle = cor[i];
        pincel.beginPath();
        if(s){
            pincel.arc(x, y, 20, 0, 2 * 3.14);
        } else {
            pincel.arc(x, y, 10, 0, 2 * 3.14);
        }
        pincel.fill();
        console.log(x + ',' + y);

    }

    function mudaCor(evento) {

        i = i + 1;

        if(i >= cor.length){
            i = 0;
        } 

        return false;
    }

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

</script>
1 resposta

Boa Jonas de Souza Tega,

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!!