1
我正在使用love2d 0.10.1。 Love2d返回字体文件无法加载的错误,因为它不存在。但该文件位于子目录中。我试图给文件名的完整路径,它不会工作。字体文件必须在另一个目录中为,因为在最终的exe中不会包含该文件。Love2d无法在同一目录中找到字体文件
我现在的目录是这样
--- 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.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。但是,这会返回字体无法加载的错误,因为数据不正确。我想这不是加载它的方式。
哦,它现在的作品。但是没有办法直接从windows字体目录(C:\ Windows \ Fonts)使用它们。如果不是,我必须复制20Mo的字体,这是相当多的。 –
此外,这似乎与每个love2d函数都是一样的:不能在工作目录之外使用文件 –
简单的测试是将文件“filename.png”放在当前工作目录的上方一个目录中,然后查看是否“。 ./filename.png“可以被访问。如果是这样,那么你知道你可以访问当前工作目录之外的文件。 – Cricket