2013-10-01 36 views
0

我搜遍了這個問題,但找不到解決方案。如何讓我的LibGDX BitmapFont繪製?

這是我的渲染循環:

Gdx.gl.glClearColor(0, 0, 0, 1); 
Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 

batch.begin(); 

BitmapFont font = new BitmapFont(Gdx.files.internal("data/Media/font/myfont1.fnt"), false); 
font.setColor(new Color(1, 1, 1, 1)); 
font.draw(batch, "Hello", 100, 100); 

batch.end(); 

我已經嘗試了所有可能的顏色,位置和不同的程序生成的字體。 但結果總是一樣的:黑屏! (當glClearColor是(1,1,1,1),一個白色的屏幕......)誰能告訴我什麼是錯的?

在此先感謝!編輯: 我自己發現了這個問題。這是一個糟糕的相機!

回答

2

似乎uhave未加載PNG文件與文件FNT

font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), Gdx.files.internal("data/billy.png"), false); 

並請永遠不要試圖加載在渲染方法沿東西。 嘗試加載字體在構造函數中,否則你也會落得一個GC電話和FPS最終將下拉

0
font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), Gdx.files.internal("data/billy.png"), false); 

如果你有例如billy.fnt,billy_1.png,billy_2幾個字體圖像巴紐你可以使用:

font = new BitmapFont(Gdx.files.internal("data/billy.fnt"), false); 
0

創建使用hiero這是由libgdx網站

設置字體150的尺寸提供了.FNT文件,它會創建一個.FNT文件和PNG文件

副本都在您的資產產生的文件夾文件的

現在我宣佈,字體

BitmapFont font; 

西北create方法

font = new BitmapFont(Gdx.files.internal("data/rayanfont.fnt"), false); 

// rayanfont是字體的名字,你可以給你的任何字體名稱

in render

batch.begin(); 
font.setscale(.2f); 
font.draw(batch, "hello", x,y); 
batch.end(); 

這將工作順利

1

您可以initallize新BitmapFont沒有在您的項目有.FNT。

BitmapFont font = new BitmapFont(); 

那麼你使它:

batch.begin(); 
font.draw(batch, "Hello world", 200, 0); 
batch.end(); 

不要忘記,Y軸從底部開始!