Love2d无法在同一目录中找到字体文件

时间:2016-08-11 13:55:38

标签: fonts lua love2d

我使用的是love2d 0.10.1。 Love2d返回错误,无法加载字体文件,因为它不存在。但是,该文件位于子目录中。我尝试用文件名给出完整的路径并且它不会工作。字体文件必须在另一个目录中,因为in不会包含在最终的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

错误消息

enter image description here

我发现有人说这是因为爱无法访问主要文件夹以外的文件夹,所以我试过这个

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。但是,这会返回由于数据不正确而无法加载字体的错误。我想这不是加载它的方法。

1 个答案:

答案 0 :(得分:1)

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