【发布时间】:2011-01-22 14:16:59
【问题描述】:
我已经进行了无数次尝试以使其正常工作,但我所做的一切都会给我带来运行时错误。我一直在尝试让资产管理器来管理我的游戏引擎的内容,并且我正在使用 lua 和 luabind 来编写脚本。让所有东西编译,绑定类和变量,从 lua 中取回基本变量,到目前为止都没有问题。
我的问题是我正在使用 std::vector 来存储我的资产类的实例,而向量似乎与 luabind 不兼容。我知道我需要这个向量,因为我的 C++ 程序会用它来渲染和做其他事情
当我绑定我的管理器类和变量(包括包含我的资产类的向量)时,一切都编译并运行良好。在我的 lua 脚本中,我可以成功创建新对象,但是当我尝试访问它们时,我得到一个运行时错误。
总结一下:
我有一个包含游戏对象信息或其他数据信息的类。
我有另一个包含资产类向量的类。
当我尝试像访问常规 lua 表一样访问此向量时,出现运行时错误。
那么我应该在 C++ 和 luabind 中做什么才能修改资产管理器类中的类?
【问题讨论】:
-
向量是否包含指向“资产”接口的指针?您是否有包含矢量的类(例如 Assets 或 AssetManager)?与尝试公开向量本身相比,公开封装的资产相关函数可能会更好。