futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

cocos2d-x 3系へ書き換えてみる

書き換えできなかったので、知っている人がいれば教えていただきたい!

2系だとボタンが押された時の動作を設定するのにこんな感じ

MenuItemFont* retryLabel = MenuItemFont::create("Retry", this, menu_selector(HelloWorld::menuRetryButton));

void HelloWorld::menuRetryButton(CCNode *node)
{
    CCDirector::sharedDirector()->getTouchDispatcher()->removeAllDelegates();
    
    CCScene* gameScene = (CCScene*)HelloWorld::create();
    CCDirector::sharedDirector()->replaceScene(gameScene);
}


3系で書きなおしてみるもエラーが出ていて使えない。
MenuItemFont::createでの2番目の引数が良くないみたいなのだが分からない。

MenuItemFont* retryLabel = MenuItemFont::create("Retry", CC_CALLBACK_0(HelloWorld::menuRetryButton, this));

void HelloWorld::menuRetryButton(Object* pSender)
{
//    Director::getInstance()->getTouchDispatcher()->removeAllDelegates();
//    Director::getInstance()->r
    
    Scene* gameScene = (Scene*)HelloWorld::create();
    Director::getInstance()->replaceScene(gameScene);
}


ちなみに上記でコメントアウトしている部分も書き換えができていないので、分かる人いれば教えて欲しいです。
2系

CCDirector::sharedDirector()->getTouchDispatcher()->removeAllDelegates();


3系

Director::getInstance()->この先がわからない\(^o^)/