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

皮肤中的BitmapFont不能正确绘制标签

莘光华
2023-03-14

我使用Hiero制作了一个位图字体,名为default。fnt默认值。png。我可以在LibGDX中将它们用作位图字体,并使用font毫无问题地使用该字体绘制文本。draw()。但是我不能用这个字体作为皮肤的默认字体。我用过尤斯金。json文件(以及皮肤的其他部分,但我在制作自己的字体之前删除了Droid Sans文件),因为我不知道如何制作自己的字体。从我在互联网上看到的情况来看。json文件设置正确:它有一行com。糟糕的逻辑。gdx。图样g2d。BitmapFont:{default font:{file:default.fnt}},这将使成为默认值。fnt使用皮肤的小部件的默认字体。但是,当我运行程序时,我看到:

按钮上方应有标签,按钮上应有文字。

如果我这样做:startGameButton。getStyle()。字体=字体,其中,startGameButton是按钮之一,font是这样创建的BitmapFontfont=new-BitmapFont(Gdx.files.internal(“uiskin/default.fnt”)、Gdx.files.internal(“uiskin/default.png”)、false) ,按钮正确显示文本。我不想这样做,因为这感觉太像黑客了。

我正在遵循这个教程,但是我不得不在他的代码的后期修订中查找一些东西,因为LibGDX自从编写以来已经发生了变化。

菜单屏幕。java(出现问题的屏幕)

文摘creen.java

另外,请告诉我是否有更好的方法来制作菜单用户界面,或者您是否需要其他文件。上面链接了uiskin.json

谢谢你。


共有1个答案

安高翰
2023-03-14

我修好了。Droid Sans位图图像存在于两个地方,它也是uiskin.png的一部分。我不知道怎么做,但它可能从那个文件中读取字体的字母,而不是default.png。所以最后我只是重命名了字体的. fnt. png(以及. fnt中的file参数),并在皮肤的. json中进行了搜索替换现在一切正常。我不知道到底是什么导致的,但也许default-font是一个保留字或什么的。

不管怎样,它现在起作用了。感谢Jyro117让我想到也许我不应该替换默认字体,而是添加我自己的字体。

 类似资料:
  • 问题内容: 我似乎无法弄清楚如何正确旋转位图字体。我认为您修改了SpriteBatch的转换矩阵。但是,尝试旋转会使文本绕某个点旋转,而且我不知道如何相对于文本本身旋转文本。 问题答案: 您可以尝试以下代码:

  • 问题内容: 我非常敢打赌,我做了一些愚蠢的事情,只是似乎没注意到。 该项目是使用提供 gdx-setup-ui.jar 的模板工具生成的。 正如您在代码中所看到的,我没有费心去掉默认代码(只是一些简单的绘制代码来渲染LibGDX徽标)。 因此,对于干净生成的项目,我在这里遵循了本指南 http://code.google.com/p/libgdx- users/wiki/addingText2D

  • 皮肤 皮肤机制为 moye 控件提供强大的样式自定义能力,可以支持 自定义样式 与 换肤 / 风格主题 。 功能特点: 首先,每个控件都有一个基础样式类型: ui-{type},其中{type}表示控件的主类型; 其次,控件可以设定皮肤参数,并可以指定多个皮肤。每个皮肤设定都会添加两个样式类型: skin-{skin} 与 skin-{skin}-{type}, 其中 {skin} 表示设定的皮肤

  • 我已经编写了以下代码 它运行并设置动画,但是它的设置动画的方式与我引用的Javascript代码不同,可以在这里找到Javascript代码http://codepen.io/anon/pen/ZYQoQZ 任何有助于理解原因的帮助都是非常感谢的

  • 我已经使用Skin composer创建了一个libgdx皮肤。问题是所有的图片按钮,字体都很大。我如何处理尺寸?我应该缩小图像的大小还是有其他方法?我试着用按钮。设置大小(x,y),但不起作用:|

  • 我试图用geotools在地球上画一条线,但画线时没有考虑两点之间的最短距离,而是画了一条绕地球很长的路线,并提供了错误的结果。当我在谷歌地图上画同样的线时,结果路线是正确的。黑白地图使用geotools,另一张来自谷歌地图。谁能告诉我哪里出错了PS:坐标在日志中,稍后