1
resposta

A var x = 20; tem que estar fora da função

<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) {

        pincel.fillStyle = 'blue';
        pincel.beginPath();
        pincel.arc(x, y, raio, 0, 2 * Math.PI);
        pincel.fill();
    }

    function limpaTela() {

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

    var x = 20;
    function atualizaTela() {


        limpaTela();
        desenhaCirculo(x, 20, 10);
        x++;

    }

    setInterval(atualizaTela, 10);

</script>
1 resposta

Perfeito, Leonardo!

"O que acabamos de solucionar é um problema de escopo de variável no mundo da programação. Uma variável pode ter um escopo de função, ou seja, só dentro da função ou ter um escopo chamado de escopo global. Quando declarada fora de uma função, a variável é acessível por qualquer outra função do nosso programa."

Qualquer dúvida é só nos procurar!!!

Um abraço e bons estudos!!!

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