Java 在LibGDX中缩放位图字体
如何在LibGDX中缩放位图字体对象?似乎setScale方法不再可用。使用Java 在LibGDX中缩放位图字体,java,android,libgdx,Java,Android,Libgdx,如何在LibGDX中缩放位图字体对象?似乎setScale方法不再可用。使用bitmapFont.getData().setScale(float x,float y)不建议缩放位图字体,因为它在放大时看起来是像素化的(我认为这很难看) 建议使用它调整字体大小 如果您仍然希望使用bitmapFont Tenfour04,则建议使用freetype生成器,如下所示: FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.fi
bitmapFont.getData().setScale(float x,float y)
不建议缩放位图字体,因为它在放大时看起来是像素化的(我认为这很难看)
建议使用它调整字体大小
如果您仍然希望使用bitmapFont Tenfour04,则建议使用freetype生成器,如下所示:
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("fonts/timesBold.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
然后在参数中更改字体大小并初始化位图字体:
fontParameter.size = 18;
BitmapFont font = fontGenerator.generateFont(fontParameter);
还需要将libgdx-freetype.so包含在项目的armeabi文件夹中。加载字体时,可以将字体大小指定给FreeTypeFontParameter
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("Lobster.ttf"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.size = 50; // font size
BitmapFont lobster= generator.generateFont(parameter);
generator.dispose();
我可以使用足够大的字体,以便使用getData().setScale(…,…)调整它的大小而不显得难看吗?当然,只需使用更大的字体,并确保在启用mip贴图的情况下加载其纹理,并使用过滤器(MipMapLinearLinear,Linear)。我使用的是Freetype生成器,但在小分辨率屏幕上运行时,它似乎不会自动缩小比例。如何根据屏幕分辨率缩小Freetype字体?我正在使用Freetype generator,但当它创建一个全新的纹理时,我会调用很多刷新,因为它不断地在我的一个大纹理和所有图像之间切换,以及字体纹理。是否在运行时将这些内容合并为一个TextureAtlas?其中bitmapFont=new bitmapFont();您能否澄清如何确定哪些ttf字体实际可用以及它们在设备上的位置?这些是gdx字体还是android系统字体?您可以在windows操作系统的字体文件夹中找到.ttf文件。然后复制所需的字体系列文件,并将其定位在Libgdx项目的资产文件夹中。