:LuaBind : 클래스의 특정 인스턴스를 Lua에 바인딩하는 방법은 무엇입니까?
LuaBind가 쉽게 사용 루아에 전체 클래스를 바인딩 ((!) 참고 이것은 게임 프로그래밍입니다) :
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_example.lua
foo = test() //will print "constructed!" on the console
foo:print() //will print "works!" on the console
그러나 이제는 test의 특정 인스턴스를 루아에 바인딩하고 싶습니다. 이렇게하면 객체를 루아에 전달할 수 있습니다. 플레이어-클래스의 인스턴스와 같은 무언가를 :
Player:SetPosition(200,300)
해당 C++로 setPosition 함수는 표준을 찾아 볼 필요가
SetPosition("Player",200,300)
같은 것을 어려운 길을가는 데 반대로 : :지도를 찾아 플레이어를 찾습니다.
이 경우조차도 가능합니까? 그렇다면 루아 바인드에서 어떻게 할 수 있습니까?
답변을 한 지 2 시간이 지났지 만 다시 한 번 감사드립니다. luabind :: globals는 매우 쉽습니다. 또한 루아 바인드 (luabind)는 C++의 템플릿 메타 프로그래밍에 대한 새로운 존경심을 새로운 차원으로 끌어 올렸습니다. – TravisG