Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Flor.html

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

<script>

var tela = document.querySelector('canvas');
var pincel = tela.getContext('2d');
pincel.fillStyle = 'lightgrey';
pincel.fillRect(0, 0, 600, 400);

function desenhaCirculo(x, y, raio, cor) {

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

}

desenhaCirculo(300, 200, 25, 'red');
desenhaCirculo(250, 200, 25, 'orange');
desenhaCirculo(350, 200, 25, 'black');
desenhaCirculo(300, 150, 25, 'yellow');
desenhaCirculo(300, 250, 25, 'blue');

    </script>

Consegui realizar o exercício de forma correta com a ajuda dos posts do fórum. Minha dúvida é em relação ao 'pincel.arc' e como utilizá-lo corretamente.

Quando utilizo a função desta forma:

desenhaCirculo(300, 200, 0, 2*3.14, 'red')

O código também da certo, porém, o circulo fica minúsculo. Gostaria de entender melhor sobre o 'pincel.arc'. Creio que não entendi muito bem como executá-lo de forma correta.

Desde já, agradeço a quem possa ajudar!

1 resposta
solução!

Olá Gabriel! Tudo bem por aí?

Por mais que pareça confuso inicialmente entender o que acontece quando utilizamos pincel.arc fica mais fácil se focarmos em assimilar que pincel se refere a variável que criamos para percorrer e desenhar dentro do nosso canvas, logo já podemos "prever" que qualquer ação relacionada a esta variável vai criar algo no nosso canvas desde que tenhamos definido os parâmetros que devem ser percorridos.

Pois bem, agora vamos ao método arc, este por sua vez cria um arco circular centralizado em (x, y) com um raio, o caminho a ser percorrido começa no anguloInicial, e termina no anguloFinal, e é desenhado no sentido antiHorario.

Unindo tudo isso, quando usamos opincel.arc estamos desenhando algo circular, seja um arco ou círculo completo, que vai percorrer o caminho pré-determinado dentro do nosso canvas, o caminho é definido pela variável pincel, e o formato/comportamento pelo método arc.

Espero ter ajudado com sua dúvida, deixo como recomendação uma documentação que explica com mais detalhes o comportamento do método arc: https://developer.mozilla.org/pt-BR/docs/Web/API/CanvasRenderingContext2D/arc

Continue praticando, bons estudos e até mais!