Tutorial Allegro 5 #9 – Animações

Olá! No post de hoje, não teremos necessariamente nenhum conceito novo sobre a biblioteca Allegro 5. Na verdade, vou mostrar como fazer uma animação simples, utilizando funções que já vimos nos posts anteriores. Vocês verão que, com o que já viram, já dá pra começar a bolar um jogo simples!

Bom, nosso aplicativo consiste em um círculo vermelho se movendo pela tela, e sendo rebatido caso toque as bordas da tela. Simplesmente isso, mas já será possível de entender o princípio das animações. Vamos dar uma olhada no código:

Bom, a princípio vocês podem perceber que não há funções novas. Realmente, tudo que está aí já foi visto nos tutoriais anteriores. O que podemos destacar então? As variáveis de controle presentes em nossa função main(). Temos a variável raio que define o raio de nosso círculo, as variáveis x e y que representam as coordenadas da tela onde o círculo será desenhado, e as variáveis dir_x e dir_y que servem de referencial de direção do movimento do círculo. Dentro do looping principal, após o tratamento do evento de fechar a janela, temos a parte que realmente nos interessa. Desenhamos o círculo na posição referente às variáveis x e y. Logo após, atualizamos a tela e a apagamos, para criar o efeito de animação (animação = várias imagens estáticas sendo exibidas uma após a outra). Após isso, incrementamos o valor das variáveis x e y para movimentar o círculo, realizando uma multiplicação pela direção (para movimentar o círculo no sentido correto).

Pra finalizar a lógica, fazemos duas verificações, para evitar que o círculo saia da janela. Assim, invertemos o sentido quando o círculo atinge algum dos limites da tela, fazendo com que ele seja rebatido para o sentido oposto.

Assim, nossa “obra de arte” fica mais ou menos assim:

Pra linkar, adicionamos a biblioteca Allegro e o add-on de primitivas:

  • Windows: -lallegro-5.0.5-mt -lallegro_primitives-5.0.5-mt
  • Linux: -lallegro -lallegro_primitives

Bom, é isso então! Acredito que com os conceitos que vimos até agora, já dá pra fazer algumas coisas bem legais! Então… divirtam-se! 😀

7 comentários sobre “Tutorial Allegro 5 #9 – Animações

  1. Lich disse:

    Esse código não está totalmente correto, né?

    deveria ser(?):
    (…)
    int dir_x = 1, dir_y = 1;
    x += 1.0 * dir_x;
    y += 1.0 * dir_y;
    (…)

    Estou curtindo o tutorial, você está de parabens.
    Quando terminar um game, posto o link por aqui.

    Curtir

  2. Otávio Henrique Fonseca disse:

    Boa tarde amigo, parabéns pelo blog ae. Tenho q fazer um pong, mas as minhas palhetas não recebem o comando de movimentar, comparei com um outro exemplo e parece estar tudo certo. 😦 Se tiver como me ajudar manda um email para otaviohpf@hotmail.com que eu lhe respondo com o código. Obrigado.

    Curtir

  3. Olá Rafael, saberia me dizer como eu poderia criar vários círculos, mas estes círculos em movimentos aleatórios, e eles não “batem” nas laterias , ao sair do lado direito da tela, o círculo reaparece do lado direito e vice -versa. Obrigado.

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.