我使用lualite将以下对象包装在 lua 中:
class SpriteComponent : public Component
{
public:
SpriteComponent();
std::string name() const;
std::string textureId() const;
void setTextureId(const std::string& id);
int spriteCoordX() const;
void setSpriteCoordX(int value);
int spriteCoordY() const;
void setSpriteCoordY(int value);
};
绑定代码:
module(L,
class_<SpriteComponent>("SpriteComponent")
.constructor("new")
.def("name", &SpriteComponent::name)
.property("textureId",
&SpriteComponent::textureId, &SpriteComponent::setTextureId)
.property("spriteCoordX",
&SpriteComponent::spriteCoordX, &SpriteComponent::setSpriteCoordX)
.property("spriteCoordY",
&SpriteComponent::spriteCoordY, &SpriteComponent::setSpriteCoordY)
);
有没有办法(在 lua 端或 C++ 端)获取属性列表?如果我在结果表中列出这些对,我只会得到name
和__instance
。
local o = SpriteComponent.new()
for key,value in pairs(o) do
print("found member " .. key);
end
我什至尝试了其中一些台式打印机,但没有运气。