Animando Gráficos na Canvas
Também podemos criar animações na canvas usando JavaScript e a tag HTML <canvas>. Vamos criar uma animação de um retângulo em movimento na nossa canvas.
<!doctype html>
<html>
<head>
<title>Animated Canvas</title>
</head>
<body>
<canvas id="myCanvas" style="border: 1px solid black;"></canvas>
<script>
const canvas = document.getElementById("myCanvas");
const ctx = canvas.getContext("2d");
let x = 20;
let y = 20;
const dx = 5;
function animate() {
requestAnimationFrame(animate);
ctx.clearRect(0, 0, canvas.width, canvas.height);
ctx.fillStyle = "red";
ctx.fillRect(x, y, 50, 50);
if (x + 50 > canvas.width || x < 0) {
dx = -dx;
}
x += dx;
}
animate();
</script>
</body>
</html>
No código acima, primeiro obtemos o elemento canvas pelo seu ID myCanvas, e então obtemos um contexto de desenho 2D usando getContext(). Em seguida, declaramos algumas variáveis x e y para armazenar a posição do nosso retângulo. Também declaramos a variável dx para mover o retângulo ao longo do eixo x.
Em seguida, criamos uma função animate() para desenhar o retângulo na tela. Usamos o método clearRect() para limpar os desenhos anteriores na canvas em cada frame. Em seguida, preenchemos o retângulo com a cor vermelha usando o método fillRect().
Depois, verificamos se o retângulo atingiu os limites da canvas e, caso isso aconteça, mudamos a direção do movimento alterando o valor de dx.
Finalmente, chamamos o método requestAnimationFrame() para criar um loop para a animação.
Guarde o ficheiro e atualize o seu navegador para ver o retângulo animado.