Neste tutorial vamos tratar sobre como mostrar na tela mensagens de texto. Para isso, iremos também aprender a carregar arquivos de fonte. Neste exemplo iremos mostrar na tela três mensagens de texto, conforme a imagem abaixo.
Nas linhas 4 e 5 fazemos um include nas bibliotecas dos addons allegro_font e allegro_ttf, que possuem as funções que permitem trabalhar com as fontes.
13-17
Na linha 13 criamos a função error_msg para facilitar a tarefa de mostrar mensagens de erro. Como pode-se notar mais a frente no código, neste tutorial estamos verificando se cada chamada de função apresentou erro (retornou NULL) ou não:
Na inicialização do allegro
26-30
Addon de fontes ttf
35-39
Criação do display
41-46
Carregamento da fonte
48-54Em caso de erro, mostramos uma mensagem com o al_show_native_message_box e encerramos o programa com return -1.
Na linha 24 declaramos nossa variável que irá receber a fonte que será usada ao mostrar textos na tela.
Na linha 33 iniciamos o addon de fontes do allegro, e na linha 36 o addon de fontes ttf (True Type Font). Este segundo serve para o uso de fontes arquivos de fontes .ttf.
Na linha 49 chamamos a função al_load_font(), que serve para carregar uma fonte de um arquivo para ser usada como fonte no programa. A função recebe uma strings, contendo o caminho do arquivo (ou nome, se estiver na mesma pasta), o tamanho da fonte, em pixels, e o terceiro parâmetro são flags de renderização da fonte,0 como padrão (consulte referência para mais detahes).
O programa então pinta a janela com a cor branca na linha 57.
Nas linhas 60, 63 e 66 chamamos a função al_draw_text(), que serve para escrever um texto na tela. A função recebe como parâmetro a fonte (ALLEGRO_FONT), a cor do texto (por isso usamos a função al_map_rgb() para montar a cor), as coordenadas X e Y onde o texto aparecerá, a flag de alinhamento horizontal do texto, e a string contendo o texto. Os possíveis valores para a flag de alinhamento horizontal são os seguintes:
Na linha 71 usamos a função al_draw_textf(), que funciona de maneira semelhante à al_draw_text(). A diferença é que ela recebe um texto formatado, como a conhecida função printf().
Após isso, atualizamos a tela (linha 74), paramos o programa por 10 segundos (linha 77) e desalocamos a fonte (linha 80) e janela (linha 81). O resultado é um programa que irá mostrar as 4 mensagens de texto na tela por 10 segundos.