【问题标题】:how to use lua to get all files from desktop如何使用lua从桌面获取所有文件
【发布时间】:2017-05-01 10:04:05
【问题描述】:

我正在使用 lua 制作一个项目,该项目会在 lua 中从您的桌面获取所有文件名的列表。但是,我不知道该怎么做,我也将使用love2d,因为它将成为一个游戏。你能告诉我怎么做吗?谢谢!

这里是代码

function love.load()
  require "player"

  -- Lets add Some Variables!
  -- Some Directory Suff first for Variables...
  DesktopDirectory = love.filesystem.getUserDirectory().."Desktop"
  DesktopFiles = love.filesystem.getDirectoryItems(DesktopDirectory)

  -- These are the Images!
  images = {
    background = love.graphics.newImage("gfx/desktop.png")
  }

  players = {Player.New(50, 300, 40, 40, "gfx/stickman.png", true)}

  love.graphics.setBackgroundColor(100, 220, 255)

  for k in pairs(DesktopFiles) do
    print(DesktopFiles[k])
  end
end

function love.keypressed(k)
  if k == "j" then
    players[1].jump()
  end
end

function love.update(dt)
  for i in pairs(players) do
    players[i].update()
  end
end

function love.draw()
  love.graphics.draw(images.background)

  for i in pairs(players) do
    players[i].draw()
  end
end

【问题讨论】:

  • “从桌面访问文件”是什么意思?您只需要这些文件的列表吗?
  • 几乎是的...我的意思是说“从您的桌面获取所有文件名的列表”...让我在问题中重新表述一下!
  • 网上有很多关于如何在lua中获取文件列表的信息。例如阅读:stackoverflow.com/questions/5303174/…

标签: lua love2d


【解决方案1】:

Love2D(尝试)沙盒文件系统访问,您不应该接触游戏代码或“保存目录”(您编写的任何内容所在的位置)之外的任何内容。特别是,桌面文件夹也是遥不可及的。如果您尝试在该路径上使用love.filesystem.getDirectoryItems,您只会得到一个空表。其他功能也一样——它们只会拒绝工作。

获得该功能的最简单方法是包含 lfs 并将其功能与 Lua 的基本 io 库一起用于一般文件系统访问。

【讨论】:

  • 谢谢!让我试试看!但是你如何使用它呢?想怎么设置?
  • 查看上面评论中 Piglet 链接的问题/答案。 (您也可以查看右侧列,标题为“已链接”。)
  • (或者如果你的意思是安装,试试 luarocks?)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-18
  • 2020-08-30
  • 2013-08-18
  • 1970-01-01
  • 2011-08-29
  • 1970-01-01
相关资源
最近更新 更多