我如何使用Luabind和C++创建一个资产管理类?

我尝试过很多次让它工作,但是我所做的一切都会出现运行时错误。我一直在尝试制作资产管理器来管理我的游戏引擎的内容,并且我正在使用lua和luabind进行脚本编写。到目前为止,将所有内容编译、绑定类和变量以及从lua获取基本变量都没有问题。

我的问题是我正在使用std :: vector来存储我的资产类的实例,而vector似乎与luabind无法兼容。我知道我需要这个向量,因为我的C ++程序将在渲染和其他方面使用它。

当我绑定我的管理器类和变量(包括包含我的资产类的向量)时,一切都可以编译和运行。在我的lua脚本中,我可以成功地创建新对象,但当我尝试访问它们时,我会收到运行时错误。

总之:

我有一个类,它保存游戏对象的信息或其他数据的信息。

我有另一个类,其中包含一组资产类。

当我尝试像访问常规lua表格一样访问这个向量时,我会收到一个运行时错误。

那么,在C ++和luabind中,我应该做什么才能允许我修改我的资产管理器类中的类?

原文链接 https://stackoverflow.com/questions/2361061

点赞
stackoverflow用户4323
stackoverflow用户4323

你可能需要将向量类型本身与一些相关方法绑定,或尝试使用 Luabind 的 return_stl_iterator,它提供了对 STL 兼容容器的迭代(但不提供索引)。

如果你需要更多帮助,你的绑定代码及其类型将很有用。

2010-03-09 03:35:20