2014-09-29 73 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