Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在LibGDX中缩放位图字体_Java_Android_Libgdx - Fatal编程技术网

Java 在LibGDX中缩放位图字体

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

如何在LibGDX中缩放位图字体对象?似乎setScale方法不再可用。

使用
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项目的资产文件夹中。