Curso Intensivo de Canvas: Explore a Criatividade
Sobre a Aula

Conceitos básicos de animação

Vamos explorar os conceitos básicos de animação no HTML Canvas, uma ferramenta poderosa para criar movimentos fluidos e dinâmicos em suas criações visuais.

Iniciando a Animação:

Para criar uma animação no Canvas, você precisará usar a função requestAnimationFrame, que executa uma função específica repetidamente, criando a ilusão de movimento.

Veja um exemplo:

function animar() {
  // Código de animação aqui

  requestAnimationFrame(animar);
}

// Iniciar a animação
animar();

A Propriedade clearRect:

Antes de desenhar cada novo quadro, é importante limpar o quadro anterior para evitar sobreposição.

Utilize o método clearRect para limpar uma área específica do Canvas:

function animar() {
  contexto.clearRect(0, 0, canvas.width, canvas.height);

  // Código de animação aqui

  requestAnimationFrame(animar);
}

Movendo Objetos:

Para animar um objeto, você pode alterar suas propriedades, como posição, cor ou tamanho, em cada quadro. Aqui está um exemplo simples de movimento horizontal:

let x = 50; // posição inicial

function animar() {
  contexto.clearRect(0, 0, canvas.width, canvas.height);

  // Desenhar o objeto na nova posição
  contexto.fillRect(x, 50, 30, 30);

  // Atualizar a posição para o próximo quadro
  x += 2;

  requestAnimationFrame(animar);
}

Controlando a Velocidade:

Para garantir que a animação tenha uma velocidade constante, você pode usar a função setTimeout ou setInterval. Aqui está um exemplo com setTimeout:

function animar() {
  contexto.clearRect(0, 0, canvas.width, canvas.height);

  // Desenhar o objeto na nova posição
  contexto.fillRect(x, 50, 30, 30);

  // Atualizar a posição para o próximo quadro
  x += 2;

  setTimeout(animar, 16); // 16 milissegundos para um FPS próximo a 60
}

// Iniciar a animação
animar();

Estes são os conceitos básicos que formam a fundação da animação no HTML Canvas.

Nos próximos tópicos, exploraremos aspectos mais avançados, como a importância dos quadros (frames), animação de objetos e otimização de desempenho.

Continue praticando para aprimorar suas habilidades de animação no Canvas.

Entrar na conversa
Rolar para cima