我正在开发一款游戏,并创建了一个简单的数字“字体”来显示天数。
Love2D 的 newImageFont()
函数允许使用 specifically-formatted image 为任意数量的字形创建字体。
我已经创建了我的字体,并将其加载到我的 love.load()
函数中:
dayFont = gr.newImageFont("/fonts/dayFont.png", "1234567")
这是字体图像文件:
然后在 love.draw()
中,我试图用它来显示一个数字:
love.graphics.reset()
love.graphics.setFont(dayFont)
love.graphics.printf("1", 260, 20, 30, "left")
但什么也没有出现。
在排错时,我发现当我不设置字体时,数字确实出现在预期的位置,所以问题似乎是 imageFont 本身。
最佳答案
问题出在 love.graphics.printf()
的第 4 个参数中,它设置了文本的最大宽度。因为它被设置为 30 像素的最大宽度,而字形本身是 36 像素宽,所以它根本不渲染任何字形。
将 love.draw() 中的行更新为:
love.graphics.printf("1", 260, 20, 40, "left")
解决了这个问题。
关于lua - Love2D NewImageFont 不会渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73779483/