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

Resolução Diferente Exercício

Realizado resolução diferente, não ficou tão bom como do professor, mas conseguir chegar ao resultado esperado. Loop circurlo vai e volta

<!DOCTYPE html>
<html lang="pt-br">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Desenha Circulo Canvas</title>
  </head>
  <body>
    <canvas width="600" height="400"></canvas>
    <script>
      var tela = window.document.querySelector("canvas");
      var pincel = tela.getContext("2d");
      pincel.fillStyle = "#cfcfcf";
      pincel.fillRect(0, 0, 600, 400);

      function limpaTela() {
        pincel.clearRect(0, 0, 600, 400);
      }

      function desenhaCirculo(x, y, raio) {
        pincel.fillStyle = "#0000ff";
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * Math.PI);
        pincel.fill();
      }
      var inicioX = 20; // o importante é que seja declarado fora da function atualizaTela.
      var fimX = 580; // circulo não chegar no fim do canvas deixei aparecer circulo completo

      function atualizaTela() {
        if (inicioX <= 580) {
          limpaTela();
          desenhaCirculo(inicioX, 20, 10);
          inicioX++;
        } else if (fimX >= 20) {
          limpaTela();
          desenhaCirculo(fimX, 20, 10);
          fimX--;
        } else {
          inicioX = 20;
          desenhaCirculo(inicioX, 20, 10);
          fimX = 580;

        }
      } 

      setInterval(atualizaTela, 20);
    </script>
  </body>
</html>
1 resposta
solução!

Oi Eder, tudo bem?

Muito bom! Parabéns pela sua dedicação e solução.

Precisando de qualquer ajuda estamos à disposição. Abraços e bons estudos!