我使用tolua ++將C++類型自動公開給Lua。看來,當我暴露某種類型,例如創建某個用戶類型的新實例
struct TestComponent
{
float foo;
string bar;
}
什麼tolua做(至少這是它似乎像我)是添加一個新的元表到Lua環境(在這種情況下,它只是被稱爲TestComponent
)與一些正規元方法,如__add
, __lt
以及__index
,__newindex
等。它還有一些自定義函數(稱爲.set
和.get
),當您獲取或設置struct/class的某些成員時,似乎會使用這些自定義函數。這裏的TestComponent的類型似乎只是「表」。
然而,對於如上所述的簡單結構定義,似乎缺少的是用於創建類型爲TestComponent
的新實例的功能/方法,例如,
a = TestComponent:new()
問題是,我該如何創建這種類型的新實例並將其分配給一個變量?例如,將它交給一個函數,該函數需要一個類型爲TestComponent
的參數。