2
respostas

Tentei fazer com for de forma simples, mas não funciona =/

Tentei fazer o exercício utilizando o for - tentei antes utilizando duas funções e if, mas em nenhum caso consegui promover o deslizamento. Enfim, deixo aqui o código simples que tirei pra saber se pode ser aproveitado, se a lógica está certa o que falta.

<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 = 'violet';
    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()  {

    for(x = 20; x <= 600; x++) {
    limpaTela();    
    desenhaCirculo(x, 20, 10);
    }
    for(x = 600; x > 20; x--)  {
    limpaTela();    
    desenhaCirculo(x, 20, 10);
    }

}
    setInterval(atualizaTela, 10);



</script> 
2 respostas

Boa noite, Arthur! Como vai?

No console do navegador aparece alguma mensagem de erro? Se sim, vc poderia colar ela aqui, por favor? Assim ficará mais fácil de te ajudar!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Boa noite, professor!

Não aparece nada... a bolinha fica apenas parada no mesmo lugar, que é na coordenada inicial.

Abraço!

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