如何设置正确的字体大小Libgdx

时间:2017-03-26 10:19:14

标签: android fonts libgdx

我在运行时使用FreeTypeFont扩展创建我的字体。我在这里看到了一种匹配字体与屏幕分辨率的方法:

https://gamedev.stackexchange.com/questions/77658/how-to-match-font-size-with-screen-resolution?rq=1

然而,问题如下:在我的笔记本电脑上,PPI较低,字体太小,而在PPI较高的手机上,字体太大。

我的代码:

public BitmapFont createFont(FreeTypeFontGenerator ftfg, float dp) {
        FreeTypeFontParameter f = new FreeTypeFontParameter();
        f.size = (int)(dp * Gdx.graphics.getDensity());
        f.color = Color.BLACK;
        f.minFilter = Texture.TextureFilter.Nearest;
        f.magFilter = Texture.TextureFilter.MipMapLinearNearest;
        //ftfg.scaleForPixelHeight((int)(dp * Gdx.graphics.getDensity()));
        return ftfg.generateFont(f);
    }

然后我有:

font = createFont(new FreeTypeFontGenerator(Gdx.files.internal("Fonts/Roboto-Black.ttf")), 12);
font.getRegion().getTexture().setFilter(TextureFilter.Linear, TextureFilter.Linear);

这里似乎有一个解决方案: https://gamedev.stackexchange.com/questions/79487/problem-to-match-font-size-to-the-screen-resolution-in-libgdx 但我不太明白。

创建字体的正确方法是什么,或者设置字体大小以使它们与屏幕相比具有相同的比例(无论是在桌面上还是在桌面上)并且在调整大小时看起来不会扭曲?

0 个答案:

没有答案