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 可执行文件。
我正在使用 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 可执行文件。