【问题标题】:Trouble reading txt file in Love2D在 Love2D 中读取 txt 文件时遇到问题
【发布时间】:2020-04-21 19:15:46
【问题描述】:

我正在尝试从Lua中读取一个txt文件,如下图(main.lua):

local function read_file(filename)
    contents = io.open(filename, "r")
    if contents == nil then
        return false
    else
        io.close(contents)
        return true
    end
end

if read_file("myfile.txt") then
    print("Yes")
else
    print("Not found")
end

但是,即使 myfile.txt 与 main.lua 位于同一目录中,它也会不断返回“未找到”。我目前正在使用带有 Love2D 引擎的 Lua。

【问题讨论】:

  • io.open中的路径是相对于“当前目录”的,而不是主脚本所在的目录。

标签: file lua love2d


【解决方案1】:

虽然您可能想在 LÖVE 中使用 Lua 的 io,但我建议您不要这样做。

LÖVE 拥有自己的love.filesystem。考虑:

if love.filesystem.getInfo("myfile.txt") then
   print("Yes")
   print(love.filesystem.read("myfile.txt"))
else
   print("Not found")
end

love.filesystem 的行为在 LÖVE 支持的平台之间是一致的,简而言之,对于选定的操作,它是:

  • 写入/追加 - 文件的路径相对于保存目录。
  • 读取 - 首先根据保存目录解析路径。如果未找到任何内容,则根据 love 存档或(如果适用)源目录的内容解析路径。

保存目录 是一个特殊目录,供您的应用程序使用。如有疑问,请咨询LÖVE's wiki。

至于为什么问题中的示例可能不起作用 - 请参阅 Egor 的评论。

【讨论】:

    猜你喜欢
    • 2012-09-28
    • 2017-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 2015-05-19
    • 2019-02-21
    相关资源
    最近更新 更多