问题标签 [luabridge]

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.

0 投票
1 回答
373 浏览

c++ - 如何使用 LuaBridge 注册从同一类继承的两个类?

我正在尝试使用 LuaBridge 注册两个从同一类继承的类,但失败了。

如何注册以下三个课程?

我可以像这样注册A和B1

结果是注册 B2,就好像它继承自 B1。

任何帮助是极大的赞赏。

0 投票
2 回答
710 浏览

c++ - 类中的 luabridge 类对象

奇怪的问题我有一个使用多个类的程序,其中一些类用于定义其他类中的对象,但我无法修改它们的值,不确定这是否有意义,但我会尝试演示

C++ 文件

现在在我们拥有的 lua 文件中

程序打印

只是为了澄清如果 A 的构造函数将 c 设置为 666,那么程序输出 666

0 投票
1 回答
1125 浏览

c++ - LuaBridge 断言错误

我一直在阅读一些关于 luabridge 的教程,用于从 lua 访问 c++,但我遇到了一个问题,我似乎无法通过搜索谷歌找到答案。

我已经设置了一个示例程序来运行脚本并从 c++ 访问 lua,它工作正常。但是当我尝试在全局命名空间中注册一个函数时,它会在运行时抱怨 - 编译得很好。

所以,这个带有addFunction 调用的代码给了我这个错误

没有 addFunction 调用,我得到了脚本的预期。

由于我没有找到类似的东西,是否有一些明显的东西我错过了?

我将不胜感激所有帮助!

0 投票
1 回答
2511 浏览

c++ - 在 LuaBridge 中注册一个类的函数,然后通过 lua 脚本调用它?

每当我运行程序时,它都不会在控制台上打印任何内容。如果我不使用类并且只在 main() 中完成所有操作,这会很好。

当我把它放在课堂上的那一刻,我就开始遇到问题。我究竟做错了什么?

我的 lua 脚本“test.lua”

我试过了

0 投票
1 回答
3351 浏览

c++ - 将枚举类型从 Lua 传递到 C++ 的最简单方法?

我正在尝试将纹理从 Lua 脚本加载到我的 C++ 游戏引擎中。

该引擎使用一个名为“ResourceHolder”的类,枚举类型来自一个名为“ResourceIdenifiers”的类。

我的游戏场景为纹理和字体(以及我需要的任何其他内容)创建了自己的 ResourceHolder。所以我有 Textures::ID(枚举类型)和 Fonts::ID 的命名空间。

所以我只是创建了一个 TextureHolder 对象'mTextures'

然后我简单地用单线很容易地加载纹理,如下所示:

问题是我不能在 Lua 中使用这些枚举类型,尽管我计划在我的 lua.script 文件中有这样的东西:

让 Lua 脚本处理这些枚举类型的最简单方法是什么?

这是我的 ResourceIdentifier 和 ResourceHolder 类。

资源标识符.h

ResourceHolder.h(相关性较低)

0 投票
1 回答
302 浏览

c++ - 实现 C++ -to-lua 观察者模式?

我在我的代码中实现了一个观察者(或“听众”)模式,如下所示:

现在,这在 C++ 中有效;Entity 类在entityModified()需要时调用该方法。现在,我想将一些功能转移到 Lua,在这些功能点中就是​​这个监听器回调。实体现在是从 Lua 脚本创建的。问题是,如何在 Lua 中实现监听器功能?

例如,Lua 脚本当前执行如下操作:

0 投票
2 回答
1415 浏览

c++ - 无法让 Lua 函数引用“自我”

我正在尝试使用可以打印出一些成员值的成员函数创建一个简单的类,但是当我尝试引用“self”时出现错误:

这是我要运行的脚本:

我也尝试过self:Name,但我得到了类似的错误。我在这里做错了什么?

编辑:

忘了提我printName()从 C++ 代码中调用函数。如果我从 Lua 调用该函数,它可以正常工作。

在 Lua 中创建 Test 对象并完成回调函数。回调在 C++ 中调用如下:

脚本中的回调是这样完成的:

如果我不尝试引用,回调本身就可以正常工作self。只有当我尝试这样做时才会出现错误。

0 投票
0 回答
345 浏览

c++ - 尝试向 Lua 公开类时 C2664“无法从 const 转换为 &”

我正在尝试使用 LuaBridge 向 Lua 公开两个类。这些类看起来像这样SpriteTexture

现在,我尝试将这些绑定到 Lua,如下所示:

但是,这会产生以下编译错误:

为什么我会收到此错误,我该如何解决?

0 投票
1 回答
1373 浏览

c++ - 使用 LuaBridge 从 C++ 调用 Lua 函数

我在使用 LuaBridge 从 C++ 调用 Lua 函数时遇到了一些麻烦。这个想法是我想在 C++ 中的每个游戏更新上调用脚本上的“更新”。以下代码是我在网上找到的:

所以在我的情况下,这将是:

但是, LuaBridge 2.0(命名空间)getGlobal中似乎不存在。luabridge这不同于lua_getglobal

我想知道这是否已被不同的函数调用替换,或者是否已在 2.0 版本中被弃用。我当然可以使用普通的 C Lua 方法,但我想知道这是否在 LuaBridge 中被抽象(为了让事情更容易)

0 投票
0 回答
209 浏览

c++ - 将构造函数传递给类

我正在使用 LuaBridge 并希望将 C++ 信息传递给类。

例如,假设我有 class A。它的构造函数需要一个整数a

我正在使用它来创建 Lua 命名空间;

如何以这种方式设置 A 类的构造函数?我不希望 Lua 修改构造函数。