V1에 내 cocos2d-x 앱을 업데이트하려고하는데 콜백이 필요합니다.cocos2d-x v3 매개 변수/변수로 CallFunc 사용 방법
이 같은 람다와 통화 백업을 할 수는 잘 작동 -
auto mcb = CallFunc::create([this](){
this->doCallback(kEVENT_MENU_IS_ONSCREEN);
});
hex->runAction(Sequence::create(somethingthattakestime, mcb, NULL));
을 그러나, 나는/사용 후, 내 객체에 저장하는 기능에 CallFunc 변수를 전달 몇 가지를 호출 할 미래의 시점. 클래스에서
나는 정의 -CallFunc * callfunc;
설정을 간단한로 -
item->callfunc = callfunc;
함수 내에서 -
void LBMenuAddMenuItemName(CallFunc * callfunc);
나는 또한 않도록 정적 CallFunc 변수를 선언 주변에 달려있다 -
내가 이것을 사용하고자 할 때나중에 내가 할 -
Sequence * seq = Sequence::create(callfunc,NULL);
somesprite->runAction(seq);
그러나, 이것은 SIGSEGV (GLThread)와 심하게 끝납니다.
typeid (callfunc) .name()을 사용하면 callfunc가 CallFunc임을 보여줍니다. 선언시 setTag (69)를 사용하고 SIGSEGV 전에 getTag()를 사용하면 의미있는 값을 반환하지 않습니다.
지연 콜백에 대해 내가 잘못하고 올바른 방법을 설명 할 수 있습니까?
감사합니다.
LB