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

Animação bolinha

Esse exercício deu dor de cabeça, não sei se foi algo do live server do chrome pois meu código estava igual e não rodava, ai do nada rodou kkkk.

HTML

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Iniciando animação de bolinha</title>
</head>
<body>
    <div>

        <canvas id="tela" width="600px" height="400px"></canvas>
        <script src="anima.js"></script>
    </div>
</body>
</html>

JS

const tela = document.querySelector("#tela");
const pincel = tela.getContext("2d");
pincel.fillStyle="lightgray";
pincel.fillRect(0,0,600,400);

function desenhaCirculo(posX,posY,raio){
    if(posX<100){
        pincel.fillStyle="red";
        }else if(posX>100 && posX<200){
            pincel.fillStyle="magenta";
        }else if(posX>200 && posX<300){
            pincel.fillStyle="orange";
        }else if(posX>300 && posX<400){
            pincel.fillStyle="yellow";
        }else if(posX>400 && posX<500){
            pincel.fillStyle="lightgreen";
        }else{
            pincel.fillStyle="white";
        }
    pincel.beginPath();
    pincel.arc(posX,posY,raio,0,2*Math.PI);
    pincel.fill();
}

function limparTela(){
    pincel.clearRect(0,0,600,400);
    pincel.fillStyle="lightgray";
    pincel.fillRect(0,0,600,400);
}

let posX = 0;
let sentido = 10;

function updateTela(){
        limparTela();
        if(posX>590)
        {
            sentido = -10;
        }else if(posX < 10){
            sentido = 10;
        }
        desenhaCirculo(posX,20,10);
        posX = posX + sentido;
}

setInterval(updateTela,24);
2 respostas
solução!

Finalizado...

Muito bom! Parabéns. Dpois vou rever pra ver como no navegador.