【问题标题】:How to pass lua table to the c++ class Constructor using luaBridge?如何使用 luaBridge 将 lua 表传递给 c++ 类构造函数?
【发布时间】:2021-08-13 12:54:45
【问题描述】:

这就是我想做的。

int lua:

object1 = MyObjectClass({1,2,3});

在 C++ 中

class MyObjectClass
{
public:
    MyObjectClass(/*How to passed lua table here?*/)
    {
    
    }
    void printmynum()
    {

    }
};


getGlobalNamespace(L)
    .beginClass<MyObjectClass>("MyObjectClass")
    .addConstructor<>()//???
    .addFunction("printmynum",&MyObjectClass::printmynum)
    .endClass();

我很抱歉英语能力差。

我想从 MyObjectClass 的构造函数中接收 lua 的表。

【问题讨论】:

  • 只能通过 lua_State 访问 Lua 变量

标签: lua luabridge


【解决方案1】:

解决了

class MyObjectClass
{
public:
    MyObjectClass(lua_State* L)
    {
        LuaRef param = LuaRef::fromStack(L, 2);
        if (param.isTable())
        {
            cout << param[1] << endl;
        }
    }
    void printmynum()
    {

    }
};


getGlobalNamespace(L)
.beginClass<MyObjectClass>("MyObjectClass")
    .addConstructor<void (*)(lua_State*)>()
    .addFunction("printmynum",&MyObjectClass::printmynum)
    .endClass();
    

【讨论】:

    猜你喜欢
    • 2019-03-23
    • 2013-04-14
    • 2018-05-09
    • 2015-10-11
    • 1970-01-01
    • 2018-04-10
    • 2015-12-18
    • 2014-12-25
    • 1970-01-01
    相关资源
    最近更新 更多