2014-09-29 72 views
2

我有字體的問題:字體爲不同分辨率Libgdx

我有一個bitmapFont和我在標籤用它來寫的話,我的問題是,當改變屏幕分辨率的字體看起來像素化。

看着網絡,我發現這個問題可以用FreeTypeFontGenerator類來解決,但我不明白。

你能給我一個提示嗎?

感謝您的時間

+1

如果您正在使用位圖字體,如果你的分辨率(實際上,在屏幕上的文本大小)超出了您的位圖字體字符大小的分辨率,因此期望字體看起來像素化。您可以使用FreeTypeFontGenerator,但請小心不要產生太小的字體。否則,它會再次看起來像素化。這裏的關鍵不是要擴大超出其實際尺寸的東西。 – 2014-09-29 12:20:45

回答

1

爲了能夠使用FreeTypeFontGenerator類,則必須將Gdx-FreeType Extension添加到您的項目。如果您使用搖籃開發,添加以下dependenies到項目根gradle.build文件:

核心相關性:

compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" 

桌面相關性:

compile "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-desktop" 

Android相關性:

compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" 
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi" 
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-armeabi-v7a" 
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-x86" 

iOS的相關性:

compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion" 
natives "com.badlogicgames.gdx:gdx-freetype-platform:$gdxVersion:natives-ios" 

HTML相關性:不兼容!

然後,添加你的字體TTF文件在您的資產目錄,並使用它像這樣:

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("myfont.ttf")); 
FreeTypeFontParameter parameter = new FreeTypeFontParameter(); 
parameter.size = 12; 
BitmapFont font12 = generator.generateFont(parameter); // font size 12 pixels 
generator.dispose(); // don't forget to dispose to avoid memory leaks! 

的更多信息:Gdx FreeType on Libgdx Wiki