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

Aula 05 Aumentar raio

eu juntei o programa trocando de cor e do balão, porém só deu certo na segunda tentativa.

Primeira tentativa deu erro.

function desenhaCirculo(evento , mudaCor){
    var x = evento.pageX - tela.offsetLeft;
    var y = evento.pageY - tela.offsetTop;
    var raioPlus = 10;

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

    if (evento.shiftKey) {
        raioPlus = raioPlus + 20;
    }
}

Segunda tentativa deu certo.

function desenhaCirculo(evento , mudaCor){
    var x = evento.pageX - tela.offsetLeft;
    var y = evento.pageY - tela.offsetTop;
    var raioPlus = 10;

    //  joguei meu if antes do pincel 
    if (evento.shiftKey) {
        raioPlus = raioPlus + 20;
    }

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

alguém poderia explicar a lógica por que deu certo na segunda tentativa ?

2 respostas
solução!

João, bom dia. Acredito que cada vez que se altera um parâmetro do círculo deve ser usado o método fill() para que seja pintado na tela a alteração e fique perceptível para o usuário.

Quando você usou a primeira função, o raio começa com 10, é pintado e muda-se o raio para 20, mas sem pintar mais nada. Na segunda função você começa com 10, muda pra 20 e somente depois pinta o círculo.

Se ajudei na resposta, marque-a como solucionada. Obrigado. Abs

Muito obrigado pela ajuda :]