1
resposta

Aumenta raio e muda cor

Melhorei meu código colocando a função MudaCor.

<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;
  var cores = ['blue', 'red', 'green']
  var indiceCorAtual = 0; // começa com blue

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

    console.log(x + ',' + y);
    if (evento.shiftKey) {
      raio = raio + 10; // raio agora passa a valer 30!
    }
    pincel.fillStyle =  cores[indiceCorAtual];;
    pincel.beginPath();
    pincel.arc(x, y, raio, 0, 2 * 3.14);
    pincel.fill();

  }
  tela.onclick = desenhaCirculo;

  function mudaCor() {
    indiceCorAtual++;
    if (indiceCorAtual >= cores.length) {
      indiceCorAtual = 0; // volta para a primeira cor, azul
    }
    return false; // para não exibir o menu padrão do canvas
  }
  tela.oncontextmenu = mudaCor;
</script>
1 resposta

Oi Robson, tudo bem?

Obrigado pela paciência em obter uma resposta!

Fico feliz que além de ter conseguido aplicar os códigos apresentados pelo instrutor, você tenha feito implementações para acrescentar a função que realiza a troca de cor. Parabéns pelo esforço e dedicação!

Nas próximas aulas o instrutor ensinará como utilizar uma gama maior de cores e como desenhar mantendo o botão esquerdo do mouse pressionado.

Caso tenha dúvidas, estarei à disposição para te ajudar.

Sucesso e bons estudos!