Salve pessoas!Para quem ainda nao conhece o inicio desses tutoriais pode acessa-los aqui(1) e aqui(2).Continuo eu aqui tentando ensinar sobre LibGDX. Vou falar sobre como escrever texto. Eu sei, parece bobagem, coisa simples, mas acaba nao sendo, por um motivo bem simples: o OpenGL nao interpreta diretamente fontes instaladas no OS para escrever texto. Para isso, e necessario haver um intermediario, que e o caso do LibGDX, onde usaremos o BitmapFont.Usando os projetos criados nos tutoriais anteriores, agora vamos escrever um pouco de texto. Abra o projeto LibgdxCore, o arquivo GameRoot, e acrescente essa declaracao:private BitmapFont currentFont;No metodo create(), adicione a Instancia do objeto:currentFont = new BitmapFont();No metodo dispose(), adicione a descarga do objeto:currentFont.dispose();E por fim, vamos escrever algum texto. Como eu detesto Hello World, que tal desenharmos os Frames for segundo da aplicacao? E claro, o LibGDX facilita a vida e disponibiliza esse dado num metodo estatico, bastando chama-lo, o Gdx.graphics.getFramesPerSecond(). No metodo render(), apos a chamada begin() do spriteBatch, adicione a chamada para desenhar. Note que agora o SpriteBatch e passado como parametro para o Bitmapfont:currentFont.draw(currentBatch, "FPS:" + Gdx.graphics.getFramesPerSecond(), 20, 20);Ate este ponto, sua classe deve estar assim:E ao executar:Voce vai notar que vai ficar borrado e estranho. Bem, para processos de desenho que possuem variacao, como esse caso, precisamos limpar o buffer. Para isso, adicione no metodo render(), como primeira linha, esta aqui:Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT | GL20.GL_DEPTH_BUFFER_BIT);Mas o que essa linha faz? ela informa ao openGL que ele deve limpar o buffer da GPU, usando a cor padrao, que pode ser alterada a qualquer hora pelo metodo abaixo:Gdx.gl.glClearColor(r, g, b, 1.0f);R, G e B sao os valores que voce deve aplicar, de 0.0 a 1.0, para formar a cor desejada. Para exemplificar, coloque este codigo no metodo create():Gdx.gl.glClearColor(0.5f, 0.5f, 0.5f, 1.0f);Ao executar, o resultado sera esse:Agora que brincamos um pouco com as cores de fundo, vamos voltar a falar das fontes. Quando um objeto Bitmapfont e criado sem parametros, internamente o LibGDX cria uma instancia de uma fonte default que ele possui, do tipo Arial de 15 pontos. Voce pode criar suas proprias fontes para usar em seus jogos, usando uma ferramenta que a equipe LibGDX fornece, o Hiero. Para fazer o download do Hiero clique aqui. Nao vou ficar aqui falando de como funciona, o que tem de mais e tal, basta ler no blog da BadLogic.Voce escolhe a fonte, o tamanho, coloca efeitos, mais um monte de coisas. Crie uma fonte do tipo Verdana de 32, salve o arquivo como verdana-32.fnt. Ao gravar, ele vai criar dois arquivos, o .fnt e um .png. Copie os dois para o diretorio assets do projeto de Android:Agora, na instancia do objeto Bitmapfont, acrescentaremos os parametros necessarios para a leitura do arquivo. Para isso, voce deve usar o gerador de FileHandle do LibGDX, como abaixo:currentFont = new BitmapFont(Gdx.files.internal("verdana-32.fnt"), false);Tambem e necessario fazer um ajuste no desenho da fonte. Ah, a fonte o LibGDX usa como referencia o topo e nao o fundo, ou seja, sempre na posicao Y e necessario colocar no minimo o tamanho da fonte para que ela apareca na tela:currentFont.draw(currentBatch,