1
resposta

bolinha não pulsa

<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 * Math.PI);
        pincel.fill();
    }

    function limpaTela() {

        pincel.clearRect(0, 0, 600, 400);
    }

    var raio = 20;
    var crescimento = 0;

    function pulsando() {

        limpaTela();
        if (raio > 30) {
            crescimento = -1
        } else if (raio < 20) {
            crescimento + 1
        }

        desenhaCirculo(20, 20, raio, 'blue')

        raio = raio + crescimento;




    }

    setInterval(pulsando, 2);

</script>
1 resposta

Olá Thiago! Tudo bem com você?

Peço desculpas pela demora em obter um retorno.

Vamos verificar algumas coisas que podem estar causando esse problema:

  • Erro de digitação: No trecho crescimento + 1, parece que falta atribuir o resultado da soma à variável crescimento, como crescimento = crescimento + 1 ou a forma abreviada crescimento += 1.

  • Velocidade de pulsação: O intervalo definido por setInterval(pulsando, 2) indica que a função pulsando será chamada a cada 2 milissegundos. Isso pode ser muito rápido para perceber a pulsação. Você pode tentar aumentar esse valor para algo como setInterval(pulsando, 50) para ver se a animação é mais visível.

  • Posição inicial: O círculo está sendo desenhado em desenhaCirculo(20, 20, raio, 'blue'), o que significa que ele será desenhado em uma posição fixa (20, 20). Verifique se essa posição é adequada para o seu caso.

Espero ter conseguido ajudar, qualquer dúvida estou à disposição.

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