(追記:これはゲームプログラミングである)LuaBindを使用してのLuaへLuaBind:クラスの特定のインスタンスをLuaにバインドする方法は?
バインディングクラス全体が簡単です:
class test
{
test()
{
std::cout<<"constructed!"<<std::endl;
}
void print()
{
std::cout<<"works!"<<std::endl;
}
}
//どこか
module[some_lua_state]
[
class_<test>("test")
.def(constructor<>())
.def("print",&test::print)
];
今、私はクラスのインスタンスを作成することができますLuaで使用して:
lua_example.lua
foo = test() //will print "constructed!" on the console
foo:print() //will print "works!" on the console
しかし、私はtestの特定のインスタンスをLuaにバインドしたいと思います。これにより、オブジェクトをLuaに渡すことができます。プレイヤークラスのインスタンスとような何か:ハードの道を行くと、対応するC++ SetPosition関数はSTDをルックアップするために必要
SetPosition("Player",200,300)
のようなものを持つとは対照的に
Player:SetPosition(200,300)
を: :マップは、プレーヤーを見つける。
これも可能ですか?もしそうなら、私はLuaBindでどのようにすることができますか?
あなたがそれに答えてから数時間が経ちましたが、もう一度感謝します。 luabind :: globalsは非常に簡単です。また、luabindはC++のテンプレートメタプログラミングの新しいレベルへの私の敬意を高めました。 – TravisG