1
resposta

Ficou assim o meu.

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

        }

          var Tamanho = 10;

          function atualizaTela() {

            limpatela();

               if(Tamanho <= 20) {
                  Tamanho = 20;
               }else if (Tamanho >= 30) {
                Tamanho = 10;
               }

             desenhaCirculo(80, 80, Tamanho);
                Tamanho = Tamanho + 1;


          }

       setInterval(atualizaTela,10);
</script>
1 resposta

Oi Cleonilson, tudo bem?

Obrigado pela paciência em aguardar uma resposta!

Antes de analisar seu código, tomei a liberdade de editar seu post para conseguir ver todos os comandos que você enviou pelo fórum. Segue os passos para que você consiga enviar seu código completo:

  • No seu terminal, selecione e copie a seção com o código;
  • Aqui no fórum, procure o ícone </>. É a sétima opção na aba superior do nosso editor de texto;
  • Cole o código copiado entre as duas linhas que surgirem;

Ao verificar os comandos, percebi que a bolinha pulsava, mas ela estava com um movimento irregular. Para que ela execute um movimento mais fluido é necessário criar a variável fatorDeCrescimento e atribuir valor zero:

  var fatorDeCrescimento = 0;

Em seguida é necessário aplicá-la dentro da condição na função atualizaTela() :

  if(tamanho <= 20) {
    fatorDeCrescimento = 1;
  }else if (tamanho >= 30) {
    fatorDeCrescimento = -1;
  }

Note que o comando acima indica que, ao chegar num valor menor ou igual a 20 a bolinha vai ter seu fator de crescimento aumentado em uma unidade até atingir valor maior ou igual a 30. Nesse momento o fator de crescimento será diminuído em uma unidade até atingir novamente o valor de 20, e assim sucessivamente.

Por fim é preciso que o tamanho da bolinha seja igual ao seu tamanho mais o fator de crescimento, pois isso fará com que ela reduza e aumente progressivamente.

tamanho = tamanho + fatorDeCrescimento;

Gostaria de dar uma dica para que você desenvolva mais as boas práticas em relação a escrita dos comandos. É importante ao escrever o nome de uma variável ou de uma função que a primeira palavra tenha letras minúsculas e que a inicial das demais palavras que podem vir a ser utilizadas, tenham a letra maiúscula.

Considerando as boas práticas e os comandos adicionais, o código seria escrito da seguinte maneira:

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

  }

  var tamanho = 10;
  var fatorDeCrescimento = 0;

  function atualizaTela() {

  limpaTela();

  if(tamanho < 20) {
    fatorDeCrescimento = 1;
  }else if (tamanho >30) {
    fatorDeCrescimento = -1;
  }

  desenhaCirculo(80, 80, tamanho);
  tamanho = tamanho + fatorDeCrescimento;

  }

  setInterval(atualizaTela,10);

Espero ter ajudado, continue seus estudos e caso tenha dúvidas estarei à disposição para te auxiliar.

Grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado! ✓.