1
resposta

Oi, aqui meu código. Espero que consigam entender.

<html>
    <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);

        function desenhaCirculo(evento) {

            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = cores[indiceCor];
            pincel.beginPath();
            pincel.arc(x, y, 10, 0, 2 * 3.14);
            pincel.fill();
            console.log(x + ',' + y);
        }

        tela.onclick = desenhaCirculo;

        function mudaCor() {
            indiceCor++;
            if(indiceCor > 2){
                indiceCor = 0;
            }
            return false;
        }

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

        tela.oncontextmenu = mudaCor;

    </script>
</html>
1 resposta

Oi, Tamires, tudo bem?

Gostaria de te parabenizar pelo seu projeto! O código ficou bem indentado e tem clareza na definição das suas variáveis e funções. Contudo para que seu código fique melhor organizado, é interessante agrupar as variáveis e funções como mostro abaixo:

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

    <script>

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

        var tela = document.querySelector('canvas');
        var pincel = tela.getContext('2d');
        var cores = ["blue", "red", "green"];
        var indiceCor = 0;

        function desenhaCirculo(evento) {

            var x = evento.pageX - tela.offsetLeft;
            var y = evento.pageY - tela.offsetTop;
            pincel.fillStyle = cores[indiceCor];
            pincel.beginPath();
            pincel.arc(x, y, 10, 0, 2 * 3.14);
            pincel.fill();
            console.log(x + ',' + y);
        }

        function mudaCor() {
            indiceCor++;
            if(indiceCor > 2){
                indiceCor = 0;
            }
            return false;
        }

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

    </script>
</html>

Continue se dedicando em seus estudos para aprimorar ainda mais suas habilidades e desenvolver seus conhecimentos e caso tenha dúvidas, estarei à disposição.

Abraços!