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

LibGDX将文本绘制到左上角

宇文弘懿
2023-03-14

我是libgdx的新手,学习了一个简单的游戏教程,现在我想自己扩展一个小的部分,就是在屏幕左上角添加一个fps计数器

我使用的代码是从https://github.com/libgdx/libgdx/wiki/a-simple-game复制粘贴的(滚动到结尾查看最终代码)

在render方法中,在清除屏幕并更新相机后,我执行了如下操作

font.draw(batch, String.valueOf(Gdx.graphics.getFramesPerSecond()), 0, 480);

(我添加了一个用新的BitmapFont()初始化的字体字段;显然我将文本绘图包装在一个batch.begin()和end中)

游戏一开始就崩溃了,但我不明白

在我看来是这样的

x是0,因为我想要左角的开始

480 y绘制在顶部,相机的高度是480,所以是左上角这样。

现在的问题是,我是不是误解了坐标系,或者如果不是,那么我的代码到底错在哪里?我正在Android上进行测试

共有1个答案

司马英才
2023-03-14

发现了问题,字体没有被正确绑定,我从gdx jar文件中提取了字体文件,并将其放置到我自己的资产文件夹中,现在它可以工作了。

 类似资料:
  • parameter.size=30; parameter.characters=“abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz0123456789.'()>?:”; font=generator.generateFont(参数); gdx.gl20.glclear(GL20.gl_color_buffer_bit); Begin(); f

  • Matplotlib 支持广泛的文本格式,比如 TTF 页面语言、Unicode 字符等。这是因为 Matplotlib 内置了 matplotlib.font_manager 字体管理器,它是一个实现了跨平台,并符合 W3C 字体查找算法的字体集合。 TTF(TrueType Font) 是苹果公司和微软公司合作开发的页面描述语言,用来描述字符的轮廓,结合了光栅技术和矢量技术的优点。 用户可以对

  • 画布中不仅可以绘制图形,还可以绘制文本。绘制文本,既可以使用填充方法,也可以使用勾勒方法: fillText(text, x, y, [maxWidth]) strokeText(text, x, y, [maxWidth]) 表示在(x,y)的位置,绘制text的内容。可选参数maxWidth为文本的最大宽度,单位为像素。如果设置了该属性,当文本内容宽度超过该参数值,则会自动按比例缩小字体,使

  • 文本与图形总是如影随形。为此,2D 绘图上下文也提供了绘制文本的方法。绘制文本主要有两个方法:fillText()和strokeText()。这两个方法都可以接收4 个参数:要绘制的文本字符串、x 坐标、y 坐标和可选的最大像素宽度。而且,这两个方法都以下列3 个属性为基础。 font:表示文本样式、大小及字体,用CSS 中指定字体的格式来指定,例如"10px Arial"。 textAlign:

  • 我正在做一个游戏,我试图在游戏结束时画一个舞台。当我使用旧版本的libgdx时,这很好。当我更新libGdx版本时,我遇到了以下问题。我在gameOver中使用了相同的背景变量gamePlayBG,我在整个游戏中使用它,并每次都重置它。目前,但舞台还没有画。只有gamePlayBG在画画。下面是我的代码: 下面是在时间为零时调用gameOver()方法的render方法: 有什么建议吗??

  • 问题内容: 好的,我有这个代码 并且它将淡蓝色的背景绘制到屏幕上。我正在尝试创建一个渐变,该渐变从顶部的深蓝色到底部的浅蓝色。有没有简单的方法可以做到这一点?我是Libgdx和OpenGL的新手,所以我正尝试从书中学习,但我似乎找不到答案。我听说过要绘制一个大正方形并为顶点设置不同的颜色,但是我不确定该怎么做。 问题答案: 在libGDX中,ShapeRenderer对象包含一个方法,该方法为其位