我使用的是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
错误消息
我发现有人说这是因为爱无法访问主要文件夹以外的文件夹,所以我试过这个
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。但是,这会返回由于数据不正确而无法加载字体的错误。我想这不是加载它的方法。
答案 0 :(得分:1)
如果我没有弄错的话,您希望字体位于您使用love2d(.lua文件)运行的应用程序的目录中,而不是在带有love2d可执行文件的目录中。< / p>