我正在尝试使用 libGDX 在屏幕上绘制简单的文本。我要考虑的是文本的大小。我想在屏幕上画出玩家的分数,我希望它很大。但即使我使用 freetype 字体,它看起来也不流畅。这是代码:
SpriteBatch batch;
String string;
FreeTypeFontGenerator generator;
FreeTypeFontParameter parameter;
BitmapFont font;
@Override
public void create () {
batch = new SpriteBatch();
generator = new FreeTypeFontGenerator(Gdx.files.internal("arial.ttf"));
parameter = new FreeTypeFontParameter();
parameter.size = 100;
font = generator.generateFont(parameter);
string = "0123456";
}
@Override
public void render () {
Gdx.gl.glClearColor(0, 0, 0, 1);
batch.begin();
font.draw(batch, string, 50, 400);
batch.end();
}
我是否处于将乐谱或某些 HUD 屏幕绘制到视口(viewport)的正确路径上?有没有更好的方法或者有没有一种方法可以轻松地使用字体来做到这一点? (从头开始学习?)
最佳答案
尝试将 FreeTypeFontGeneratorParameter 的 minFilter 和 magFilter 设置为 Linear,如下所示:
@Override
public void create () {
batch = new SpriteBatch();
generator = new FreeTypeFontGenerator(Gdx.files.internal("arial.ttf"));
parameter = new FreeTypeFontParameter();
parameter.size = 100;
parameter.minFilter = Texture.TextureFilter.Linear;
parameter.magFilter = Texture.TextureFilter.Linear;
font = generator.generateFont(parameter);
string = "0123456";
}
关于java - 使用 libGDX 绘制大而平滑的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36379862/