Love2d 在同一目录下找不到字体文件

Love2d can't find font file in the same directory

我正在使用 love2d 0.10.1。 Love2d returns 错误,字体文件不存在,无法加载。但是该文件位于子目录中。我试着用文件名给出完整路径,但它不起作用。字体文件 必须 在另一个目录中,因为它不会包含在最终的 exe 中。

我当前的目录如下所示

--- love 2d
------ game
---------- main.lua
---------- fonts
-------------- segoeui.ttf
------ love.exe

制作最终的 exe 时看起来像这样

--- love 2d
------ fonts
---------- segoeui.ttf
------ game.exe

我的代码(简化版)

love.window.setMode(500, 500)  -- Open window
font = love.graphics.newFont('segoeui.ttf', 20)  -- Load font
love.graphics.print(text, 100, 100)  -- Print text
love.graphics.present()  -- Display text
while true do end

错误信息

我发现有人说这是因为 love 无法访问 main 之外的文件夹,所以我尝试了这个

love.window.setMode(500, 500)  -- Open window
local file = io.open("fonts\segoeui.ttf", "r")
local content = file:read "*a"
local data, err = love.filesystem.newFileData(content, 'segoeui.ttf')
font = love.graphics.newFont(data, 20)  -- Load font
love.graphics.print("hey", 100, 100)  -- Print text
love.graphics.present()  -- Display text
while true do end

这样io.open成功打开文件,读取内容然后转换成FileData,然后馈送到newFont。但是这个returns 无法加载字体的错误,因为数据不正确。我猜这不是加载它的方式。

如果我没记错的话,您希望字体位于您使用的 运行 love2d 应用程序的目录中(.lua 文件),而不是位于带有love2d 可执行文件。