我认为我想要解决的问题对大多数人来说都很简单:)
假设我有一个具有成员函数Node
的类setPosition(float x, float y, float z)
。我希望能够在lua中定义Node类的变量,然后能够使用setPosition()
函数形成Lua。
我知道有些问题是Lua更倾向于C而不是C ++,并且它有C ++类的问题,但我也知道它是可以实现的。
答案 0 :(得分:2)
我会使用Luabind。有了它,您可以轻松地绑定C ++类,以便可以在Lua中创建,访问和修改它们。您用C ++编写的代码可能大致如下:
module(L) [
class_<Node>
.def(constructor<>)
.def("setPosition", &Node::setPosition)
];
然后你可以在Lua中说出来:
node = Node()
node:setPosition(x, y, z)
您还可以进行绑定,以便Lua看起来更自然,可以支持以下内容:
node1 = Node(x, y, z)
node2 = Node()
node2.position = { x, y, z }