问题标签 [luabind]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 当 Lua 绑定在那个类中时,使用 LuaBind 在一个类中调用 Lua 函数
基本上,我只想能够在我的 Manager 类中创建一个干净的 Lua 实例,然后将类中的函数导出到 Lua,这样我就可以在 Lua 中已经创建的 C++ 类上调用函数。
这是我正在考虑解决问题的当前方式。它可以编译,但在 Lua 中没有任何反应。
有谁知道我做错了什么,或者有没有人有任何其他建议?
管理器.lua
经理.h
管理器.cpp
c++ - LuaBind:如何将类的特定实例绑定到 Lua?
(旁注:这是游戏编程)
使用 LuaBind 将整个类绑定到 Lua 很简单:
//别的地方
现在我可以在 Lua 中创建类的实例并使用它:
lua_example.lua
但是,现在我想将特定的测试实例绑定到 Lua。这将使我能够将对象传递给 Lua,例如 Player 类的实例并执行以下操作:
与其走艰难的路并拥有类似的东西
其中相应的 C++ SetPosition 函数需要查找一个 std::map 才能找到播放器。
这甚至可能吗?如果可以,我怎么能在 LuaBind 中做到这一点?
lua - Luabind 中的自定义构造函数
我正在使用 Luabind 将 C++ API 绑定到 Lua。我有一些对象不能直接创建,而是必须在另一个线程上创建。我目前正在通过定义一个名为“静态”的成员来处理这个问题,该成员create
在创建对象之前会产生:
这可行,但缺点是使客户端 API 复杂化。对于这些类,您不能正常创建它们(例如local f = Foo()
),而是需要创建它们local f = Foo.create()
。
是否可以定义一个实际上不调用 C++ 构造函数的 Luabind 构造函数,而是另一个返回构造对象的函数(同时可以产生)?我已经尝试为__init
and定义绑定__call
(后者在 a 下scope
,以在类上定义它,而不是它的实例),但是这两种方法都没有成功。
lua - Luabind 属性 getter 和 setter 可以产生吗?
是否可以创建一个带有 getter 和 setter 的 Luabind 属性,它们在等待查询在不同线程中执行时产生?以下语法编译但似乎不起作用:
在 Lua 端包装对象并在常规函数周围添加属性包装器不是一个好的选择,因为我需要在基类上定义这些属性,这需要为每个派生类重复很多包装器代码。
c++ - 如何解决 LNK2005:已定义
我正在开发一个使用 Lua 和 Luabind 到 C++ 的项目。现在,在我想导出到 C++ 的每个类中,我都编写了一个静态方法 Register,如下所示:
在 Button.h 中:
在 Button.cpp 中:
对于我已经导出到 Lua 的每个类,这都很好。但是对于 Button.cpp,这似乎不起作用。
我收到以下链接器错误:
有人有什么想法吗?
c++ - luabind: Can't call basic lua functions like print, tostring
A very basic question i guess:
The C++ code, calling lua looks like this:
now test.lua has the following contents:
Upon execution I receive the error:
What is the problem? It has something to do with environments? I thought functions like print are defined in the global environment. Why is it not found then?
Thank you very much.
c++ - luabind 和静态字段
我正在尝试从类中导出静态字段:
我错过了什么?
c++ - 错误:在标记“(”之前缺少二元运算符
在 gcc 升级后,我的项目由于错误而无法构建:
会是什么呢?我也尝试过最新的 gcc (4.8) 快照,但没有帮助。
ps
c++ - 将一些数据推送到 Lua 调用函数
我有两个文件 - 一个用于执行 Lua 脚本和脚本本身。
他们来了:
主机.cpp:
脚本.lua:
用. host.cpp
_g++ host.cpp -o host.elf -I/usr/include/lua5.1 -llua5.1
运行的结果host.elf
是:
虽然它应该是:
我做错了什么?
lua - 需要分配一个全局作为指针并在lua中使用
我正在使用 luabind,我想让这个 lua 代码工作。
在 c++ 中,我想将 lua 全局变量“base”分配为指向“Base”类的指针。
使用 Luabind 我可以绑定 Base 类。我正在用 C++ 创建一个基类对象。我想将此指针推送到 lua 并将其用作 lua 全局变量“base”,如上面的 lua 代码所示。
有人可以帮我吗,最简单的方法(如果可能的话,使用 luabind 本身)?我尝试将它作为 lightuserdata 推送,但没有从 lua 调用 PrintMe。