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
我甚至試過一些these表打印機,但沒有運氣。
你能說明你是如何試圖建立你所指的列表嗎? –
我嘗試基於[this](http://stackoverflow.com/questions/2620377/lua-reflection-get-list-of-functions-fields-on-an-object)的問題。我在帖子中增加了更多細節。 –
你的意思是說,在那個循環中,你只有'key'兩個值:'name'和'__instance'?更具體地說,在你的Lua循環中只放入'print(key,「 - >」value)'併發布結果。 –