当前位置: 首页 > 知识库问答 >
问题:

Libgdx如何翻转位图字体?

姚晋
2023-03-14

我正在使用位图字体渲染文本。问题是我决定使用TrueTypeFontFactory。createBitmapFont方法创建BitmapFont,以便我可以使用自己的字体而不是默认字体。除了在使用TrueTypeFontFactory之前在y轴上翻转文本外,文本渲染没有任何问题。createBitmapFont方法我只需要创建一个BitmapFont并在构造函数中传递true来翻转它,但是现在我使用的是TrueTypeFontFactory,我不能这样做,而且在创建BitmapFont之后,我似乎无法这样做,因为没有方法可以这样做。所以我想知道在这种情况下如何翻转字体?

共有3个答案

孔鸿远
2023-03-14

将BitmapFont构造函数中的布尔参数设置为true:

//to load custom font:
font = new BitmapFont(Gdx.files.internal("data/fonts/font.fnt"), Gdx.files.internal("data/fonts/font.png"), true);
//to load default arial font:
font = new BitmapFont(true);
公孙成仁
2023-03-14

您可以使用flip=true函数的FreeTypeFontParameter(parameter.flip=true)默认值为false

    FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("font/font.ttf"));
    FreeTypeFontParameter parameter = new FreeTypeFontParameter();
    parameter.size = 12;
    parameter.flip=true;
    BitmapFont font = generator.generateFont(parameter); // font size 12 pixels 

Src:https://github.com/libgdx/libgdx/wiki/Gdx-freetype

胡飞鹏
2023-03-14

您可以尝试调用font.setScale(1,-1);创建后,但我不知道更好的方法。

 类似资料:
  • 问题内容: 我想创建一个消息框,当您接受时该消息框会褪色,但是我不知道如何更改字体的字母, 这是我的字体处理方式: 谁能帮我 ?:)我很抱歉我的英语,这不是我的母语。 问题答案: 这将更改所有后续绘制的字体的字母。因此,一旦绘制该消息,您可能希望再次将其设置为完全不透明。

  • 这是我在Libgdx游戏中的当前渲染方法。我试图在关卡的右上角画一个位图字体,但我得到的只是一堆白色框。 我想把乐谱字体添加到某种演员中,然后做一个场景。addActor(myScore),但我不知道怎么做。我按照Steigert的教程创建了一个主游戏类,该类在AbstractLevel类中实例化了场景font,然后扩展到这个级别。 到目前为止,我没有使用任何自定义字体,只是空的新BitmapFo

  • HiI想知道如何水平翻转和成像,对于一个practce任务,我得到了一个读取图像的代码,将其反转为指示亮度从0到5的图像,我必须翻转图像。 我得到一个错误

  • 问题内容: 如何使用CSS翻转任何背景图片?可能吗? currenty我使用这个箭头图像中background-image的liCSS中 开启:visited我需要水平翻转此箭头。我可以这样做来制作另一个箭头图像,但我只是好奇地知道是否有可能在CSS中翻转图像:visited 问题答案: 在看到Alex的答案出现翻转的线索后,我发现只翻转背景而不是整个元素的方法。谢谢亚历克斯的回答 HTML CS

  • 代码: 我想在不使用任何循环的情况下反转一个数字,我包括了到目前为止的步骤,但我不确定它是否正确: 将int与输出一起声明为num1、num2和num3,反向 这些步骤正确吗?我试着使用这个程序,但没有任何运气,直到我得到正确的步骤。 例子: 数字总是3位数,没有任何变化

  • 当我旋转图像(图像类)时,我需要帮助解决一个小问题。 这个想法是旋转一个球形图像,移动是通过手指的触摸和拖动,它可能是顺时针的,也可能不是顺时针的,到目前为止,这是正确的。 我希望当球体的角度是90的倍数时会发生一些事情,问题是当我用手指旋转球体时,有时它太快了,以至于球体的角度不总是通过90的倍数,例如,如果它在87,当我移动手指时,它会在不接触90的情况下移动到94。 这是我的拖动旋转代码 我