title: How to draw a BitmapFont in LibGDX?
body: <p>I'm seriously betting that I did something effing stupid and just can't seem to notice it.</p>
  
  <pre><code>package com.me.mygdxgame;
  
  import com.badlogic.gdx.ApplicationListener;
  import com.badlogic.gdx.Gdx;
  import com.badlogic.gdx.graphics.GL10;
  import com.badlogic.gdx.graphics.OrthographicCamera;
  import com.badlogic.gdx.graphics.Texture;
  import com.badlogic.gdx.graphics.Texture.TextureFilter;
  import com.badlogic.gdx.graphics.g2d.BitmapFont;
  import com.badlogic.gdx.graphics.g2d.Sprite;
  import com.badlogic.gdx.graphics.g2d.SpriteBatch;
  import com.badlogic.gdx.graphics.g2d.TextureRegion;
  
  public class Locked implements ApplicationListener
  {
      private OrthographicCamera camera;
      private SpriteBatch batch;
      private Texture texture;
      private Sprite sprite;
      private BitmapFont font;
      private CharSequence str = "Hello World!";
      private float width;
      private float height;
  
      @Override
      public void create()
      {
          width = Gdx.graphics.getWidth();
          height = Gdx.graphics.getHeight();
  
          camera = new OrthographicCamera(1, height / width);
          batch = new SpriteBatch();
  
          texture = new Texture(Gdx.files.internal("data/libgdx.png"));
          texture.setFilter(TextureFilter.Linear, TextureFilter.Linear);
  
          TextureRegion region = new TextureRegion(texture, 0, 0, 512, 275);
  
          sprite = new Sprite(region);
          sprite.setSize(0.9f, 0.9f * sprite.getHeight() / sprite.getWidth());
          sprite.setOrigin(sprite.getWidth() / 2, sprite.getHeight() / 2);
          sprite.setPosition(-sprite.getWidth() / 2, -sprite.getHeight() / 2);
  
          font = new BitmapFont(Gdx.files.internal("data/digib.fnt"),
                  Gdx.files.internal("data/digib.png"), false);
      }
  
      @Override
      public void dispose()
      {
          batch.dispose();
          texture.dispose();
      }
  
      @Override
      public void render()
      {
          Gdx.gl.glClearColor(1, 1, 1, 1);
          Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
  
          batch.setProjectionMatrix(camera.combined);
          batch.begin();
          font.setColor(0.0f, 0.0f, 0.0f, 1.0f);
  
          //sprite.draw(batch);
          font.draw(batch, str, width*0.5f, height*0.5f);
          batch.end();
      }
  
      @Override
      public void resize(int width, int height)
      {
      }
  
      @Override
      public void pause()
      {
      }
  
      @Override
      public void resume()
      {
      }
  }
  </code></pre>
  
  <p>The project was generated with the template tool they provide <strong>gdx-setup-ui.jar</strong>
  As you can see in the code, I didn't bother to get rid of the default codes (Just some simple draw codes to render the LibGDX logo).</p>
  
  <p>So, with the cleanly generated project, I followed this guide here
  <a href="http://code.google.com/p/libgdx-users/wiki/addingText2D" rel="noreferrer">http://code.google.com/p/libgdx-users/wiki/addingText2D</a></p>
  
  <p>and finally arriving with the provided code above.</p>
  
  <p>The problem is, why won't the !@#$ing text show!?   I changed the position so many times and still no luck :\</p>
  
  <p>Did I miss something?</p>
  
  <p><strong>FYI:</strong> The fonts are fine, I dropped them into another game and it works.</p>