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

时间:2017-04-30 03:22:18

标签: lua love2d

我正在使用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

1 个答案:

答案 0 :(得分:3)

Love2D(尝试)沙盒文件系统访问权限,你不应该触摸游戏代码之外的任何内容或者保存目录" (你写的任何东西都去)。特别是,桌面文件夹也是遥不可及的。如果您尝试在该路径上使用love.filesystem.getDirectoryItems,那么您将获得一个空表。其他功能相同 - 他们只是拒绝工作。

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

相关问题