LuaPlus 创建一个 Lua 表格。

我该如何在我的 C++ 源代码中创建一个 Lua 对象,就像这样:

players = {
    {
        pos = {x=12.43,y=6.91},
        backpack = {22,54},
        health = 99.71
        name = "player1"
    },
    {
        pos = {x=22.45,y=7.02},
        backpack = {12,31},
        health = 19.00
        name = "player2"
    }
}

并且这些值来自于我的 C++ 代码中的变量?

最终当然需要使其在所有脚本中都可用。

点赞
用户2328287
用户2328287
int i = 0;
lua_newtable(L);
  lua_newtable(L);
    lua_newtable(L);
      lua_pushnumber(L, 12.43); lua_setfield(L, -2, "x");
      lua_pushnumber(L, 6.91 ); lua_setfield(L, -2, "y");
    lua_setfield(L, -2, "pos");
    lua_newtable(L);
      lua_pushnumber(L, 22); lua_rawseti(L, -2, 1);
      lua_pushnumber(L, 54); lua_rawseti(L, -2, 2);
    lua_setfield(L, -2, "backpack");
    lua_pushnumber(L, 99.71); lua_setfield(L, -2, "health");
    lua_pushstring(L, "player1"); lua_setfield(L, -2, "name");
  lua_rawset(L, -2, i++);
  // 同样的下一个玩家
2013-10-28 10:35:19
用户2679394
用户2679394

你可以注册一个函数,从 Lua 表格中创建玩家对象。

player = {}
toplayer(player)
2013-10-28 16:47:16