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

Minha versão.

<meta charset="utf-8">
<canvas id='myCanvas'></canvas>

<script type="text/javascript">
    const myCanvas = document.getElementById('myCanvas');
    const context = myCanvas.getContext('2d');
    myCanvas.width = window.innerWidth - 20;
    myCanvas.height = window.innerHeight - 20;
    myCanvas.style.backgroundColor = 'black'
    const circle = {
        xPos: myCanvas.width / 2,
        yPos: myCanvas.height / 2,
        minRadius: 20,
        maxRadius: 30,
        drawRadius: 20,
        color: 'yellow',
        inflation: true
    };

    setInterval(animateCircle, 20);

    function drawCircle (X, Y, radius, color) {
        context.beginPath();
        context.fillStyle = color;
        context.arc(X, Y, radius, 0, 2 * Math.PI);
        context.fill();
    }

    function pulsateCircle () {
        if (circle.drawRadius === circle.minRadius) { circle.inflation = true }
        if (circle.drawRadius === circle.maxRadius) { circle.inflation = false }
        if (circle.inflation) { circle.drawRadius++ } else { circle.drawRadius-- }
    }

    function clearScreen () {
        context.clearRect(0, 0, myCanvas.width, myCanvas.height);
    }

    function animateCircle () {
        clearScreen();
        drawCircle(circle.xPos, circle.yPos, circle.drawRadius, circle.color);
        pulsateCircle();
    }
</script>
2 respostas
solução!

Que código lindo! Um dia vou conseguir fazer algo genial assim.

Nossa, valeu Higo! Não esperava que alguém ia chamar meu codigo de genial um dia hahaha.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software