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

O meu ficou desta forma

<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 raio = 10;      

    function desenhaCirculo(evento) {

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


        if (evento.shiftKey){
            raio = raio + 10;
            cor = 'gold';
        }

        else if(evento.altKey) {
            raio = raio - 5;
            cor = 'red';
        }


        pincel.fillStyle = cor;
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * 3.14);
        pincel.fill();
        console.log(x + ',' + y);

    }

    tela.onclick = desenhaCirculo;

</script>
3 respostas

Oi, Daniel, tudo bem?

Legal a brincadeira com as cores e os tamanho através dos eventos de tecla e clique, parabéns :}

Bons estudos!

solução!

Olá Daniel, tudo bem?

Sua solução ficou muito bacana, entretanto é necessário se atentar para a bolinha não sumir, se você apertar 2 vezes o botão alt o raio irá para 0 e não irá mais aparecer.

Para solucionar isso é bem simples: quando você está verificando if (evento.shiftKey) precisamos colocar mais uma condição:

if ( evento.shiftKey && raio + 10 <= 40 ) {
    raio = raio + 10;
}

Dessa forma estamos aumentando o raio em 10 e verificando se ele é menor que 40 que é o limite máximo proposto no exercício (caso não seja ele não irá aumentar mais).

Da mesma forma podemos fazer como alt, pois temos o limite mínimo do raio de 10 :)

if ( evento.altKey && raio - 5 >= 10 ) {
    raio = raio - 5;
}

Dessa forma estamos diminuindo o raio em 5 e verificando se ainda é maior que 10, caso não seja ele não irá diminuir mais.

Entendeu ? Qualquer coisa estou a disposição :)

Abraços e Bons Estudos!

a beleza eu vou me atentar nisso e vou fazer essa adição no codigo

vlw o feedback