Neste exemplo vamos trabalhar com imagens. Este é o primeiro passo que tornará possível criar animações.
Analise o exemplo:
Na linha 5 fazemos o include do módulo allegro_image, que permite trabalhar com imagens tipo bmp e png.
Na linha 13 criamos um ponteiro chamado imagem do tipo ALLEGRO_BITMAP. Este tipo de ponteiro serve para criar uma imagem, que posteriormente será desenhada em uma tela (ALLEGRO_DISPLAY).
Na linha 19 chamamos a função al_init_image_addon(), que serve para inicializar o módulo que manipula imagens.
Na linha 25 chamamos a função al_load_bitmap(), que serve para carregar uma imagem do disco. A função recebe por parâmetro uma string com o caminho da imagem desejada. No exemplo foi usado a imagem abaixo, mas você pode substituir esta string por outra qualquer que reflita o caminho de uma imagem qualquer, ou colocar só o nome da imagem se ela estiver na mesma pasta do seu programa. Como a função retorno um ponteiro ALLEGRO_BITMAP, atribuímos a chamada da função à variável imagem.
Na linha 28 chamamos a função al_draw_bitmap(), que serve para desenhar uma imagem. Ela recebe por parâmetro a imagem (ALLEGRO_BITMAP) que desejamos desenhar, e dois valores, representando as coordenadas X e Y que a imagem será desenhada. O quarto parâmetro representa flags que indicam se o bitmap será desenhado espelhado ou não. Use 0 caso não seja do interesse, como no exemplo.
Caso deseje mostrar na tela uma imagem redimensionada ou rotacionada, use as funções:
Note que a função al_draw_bitmap() irá desenhar a imagem na janela. Porém, nem sempre será assim. A função al_draw_bitmap() desenha a imagem no bitmap ativo. O que significa isso?
O allegro sempre tem definido um bitmap como sendo o bitmap ativo. E todas funções que desenham um bitmap, usam este bitmap como alvo. O alvo nesse nosso exemplo, é a janela (último display criado). Veremos mais adiante como mudar o bitmap ativo.
O resultado do programa acima será o surgimento da mesma tela do exercício passado, com uma imagem por cima. Após 10 segundos, esta tela some e o programa encerra.
Caso deseje saber a largura ou altura de um bitmap, chamamos as funções al_get_bitmap_width() e al_get_bitmap_height(), respectivamnte. Elas recebem o bitmap como parâmetro, e retornam o tamanho em pixels do bitmap.