如何使用LuaBridge从文件加载表?[Lua来自C++]

How do I load a table from a file using LuaBridge? [Lua from C++]

本文关键字:Lua 来自 C++ LuaBridge 何使用 文件 加载      更新时间:2023-10-16

我正在阅读LuaBridge参考手册,但我不明白如何实际加载/读取.loa文件,以便访问其中的表。

这是lua文件(从平铺导出):

return {
  version = "1.1",
  luaversion = "5.1",
  tiledversion = "0.16.0",
  orientation = "orthogonal",
  renderorder = "right-down",
  width = 16,
  height = 16,
  tilewidth = 32,
  tileheight = 32,
  nextobjectid = 3,
  properties = {},
  tilesets = {
    {
      name = "terrain_atlas",
      firstgid = 1,
      tilewidth = 32,
      tileheight = 32,
      spacing = 0,
      margin = 0,
      image = "../../../../Resources/Tilesets/Atlas/terrain_atlas.png",
      imagewidth = 1024,
      imageheight = 1024,
      tileoffset = {
        x = 0,
        y = 0
      },
      properties = {},
      terrains = {},
      tilecount = 1024,
      tiles = {}
    }
  },
  layers = {
    {
      type = "tilelayer",
      name = "Ground",
      x = 0,
      y = 0,
      width = 16,
      height = 16,
      visible = true,
      opacity = 1,
      offsetx = 0,
      offsety = 0,
      properties = {},
      encoding = "lua",
      data = {
        839, 840, 840, 840, 840, 840, 840, 840, 840, 840, 840, 840, 840, 840, 840, 841,
        871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 872, 936, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873,
        871, 872, 937, 872, 872, 872, 872, 872, 872, 872, 872, 872, 937, 872, 872, 873,
        871, 872, 872, 872, 872, 872, 872, 872, 872, 935, 872, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 936, 872, 872, 937, 872, 872, 872, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 935, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 935, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873,
        871, 936, 872, 872, 872, 872, 872, 872, 936, 872, 872, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 937, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873,
        871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 935, 872, 872, 872, 873,
        871, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 872, 873,
        903, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 904, 905
      }
    },
    {
      type = "tilelayer",
      name = "Above",
      x = 0,
      y = 0,
      width = 16,
      height = 16,
      visible = true,
      opacity = 1,
      offsetx = 0,
      offsety = 0,
      properties = {},
      encoding = "lua",
      data = {
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 938, 0, 0, 0,
        0, 0, 0, 0, 907, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876, 0, 0, 0, 0,
        0, 0, 939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 874, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 939, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
        0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
      }
    }
  }
}

您正在搜索:

f = loadfile("foo.lua")

如手册和参考手册中所述。它读取您的文件并返回f变量中的对象。