如何使用Lua获取桌面所有文件

我正在使用Lua制作一个项目,它可以获取Lua中的桌面上所有文件名列表。但是,我无法弄清楚如何做到这一点,我还将使用love2d进行该项目,因为它将是一个游戏。您能告诉我如何做吗?谢谢!

下面是代码

function love.load()
  require "player"

  -- 先定义一些变量!
  -- 首先是一些目录的变量...
  DesktopDirectory = love.filesystem.getUserDirectory().."Desktop"
  DesktopFiles = love.filesystem.getDirectoryItems(DesktopDirectory)

  -- 这些是图像资源!
  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
点赞
用户805875
用户805875

Love2D(试图)沙盒化文件系统访问,你不应该触及游戏代码之外或“保存目录”(你编写的任何东西都放在这里)。特别是桌面文件夹也是不可到达的。如果你尝试在该路径上使用 love.filesystem.getDirectoryItems,你将只得到一个空表。同样的情况也适用于其他函数,它们都将拒绝工作。

获得该功能的最简单方法是包含 lfs 并使用其函数与 Lua 的基本 io 库进行普通文件系统访问。

2017-05-01 02:04:05