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

Não consegui fazer pelo método mais rápido, e fiz pelo método mais longo (que também deu certo, eu acho rsrs). Minha dificuldade foi colocar em prática a "function desenhaCirculo" incluindo os valores (x, y, raio).

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

<script>

    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = 'lightgray';
    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();

    }    


    pincel.fillStyle = 'red';
    pincel.beginPath();
    pincel.arc(300, 200, 10, 0, 2*3.14);
    pincel.fill();

    pincel.fillStyle = 'black';
    pincel.beginPath();
    pincel.arc(320, 200, 10, 0, 2*3.14);
    pincel.fill();

    pincel.fillStyle = 'yellow';
    pincel.beginPath();
    pincel.arc(300, 180, 10, 0, 2*3.14);
    pincel.fill();

    pincel.fillStyle = 'blue';
    pincel.beginPath();
    pincel.arc(300, 220, 10, 0, 2*3.14);
    pincel.fill();

    pincel.fillStyle = 'orange';
    pincel.beginPath();
    pincel.arc(280, 200, 10, 0, 2*3.14);
    pincel.fill();

</script>
3 respostas

Oi, Emanuela.

A função vai executar exatamente os mesmos passos, alterando apenas os parâmetros que você vai passar pra ele.

Imagina que eu fale para você multiplicar por 2 todo número que eu te falar. Então, quando eu falo: 2, você vai me responder 4. Quando eu falo 3, você vai me responder 6. Quando eu falo 5, você vai me responder 10. E assim por diante.

O que aconteceu, eu só te falei 1 vez o que fazer (multiplicar por 2) e fui falando te passando os números (que são os parâmetros).

Dessa forma, a função desenhaCirculo tem as instruções para desenhar um circulo na tela. E quais dados ela precisa? Da coordenada x, da coordenada y, do raio e da cor. Com essas 4 informações ela vai desenhar qualquer círculo.

Sua dificuldade deve estar na chamada da função. Para isso seu código deveria ficar desse jeito:

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

<script>
    var tela = document.querySelector('canvas');
    var pincel = tela.getContext('2d');
    pincel.fillStyle = 'lightgray';
    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, 10, 'red');
    desenhaCirculo(320, 200, 10, 'black');
    desenhaCirculo(300, 180, 10, 'yellow');
    desenhaCirculo(300, 220, 10, 'blue');
    desenhaCirculo(280, 200, 10, 'orange');
</script>

Então, na primeira chamada (desenhaCirculo(300, 200, 10, 'red');), vc pede pra ele desenhar o círculo na posição x = 300, y = 200, raio = 10 e cor = 'red'. Como a função já tem a inteligência necessária para desenhar o círculo, você não precisa reescrever tudo novamente e fazer apenas a chamada dessa maneira.

Espero que tenha entendido. Bons estudos!

solução!

Bom dia Alexandre!

Obrigada pela explicação, agora ficou mais claro e consegui entender!

Por nada. Só podia ter marcado a minha resposta como solução, não a sua né... kkk