我在我的框架中创建了一个围绕 LuaBridge 的包装器,这样我就可以轻松地将 LuaBridge 换成替代库。作为我的框架初始化的一部分,我有一些在 LuaBridge 中注册的类。然后我可以在 Lua 中轻松访问或实例化这些类。当我想在已经在框架 init 中注册的类/表上调用自定义方法时,问题就出现了,我已经在 Lua 中定义了该方法。
function MyObject:OnUpdate()
self:Init()
end
如果我尝试通过传递 MyObject 的实例来调用 OnUpdate,以便我可以利用 self,我会收到以下错误:
“尝试索引用户数据值(本地'self')”
如果我手动注册 MyObject 而不是让我的框架在启动期间对其进行初始化,它会完美运行。就像 Lua 可以解析 MyObject 的元表,即使我可以清楚地看到它已定义。我似乎也无法从 Lua 中找到太多关于该确切错误的信息。