cocos2d-x 別シーンに行って元のシーンに戻る

概要

  • 前回のサンプルでは切り替えたら前のシーンには戻れなかったが、ポップアップメニューや設定画面など、完了したら元の画面に戻りたい画面を作る

scene切り替え処理を変更する

  • TitleSceneのreplaceSceneは完全にシーンを置き換える処理だったが、pushSceneにするとシーンのスタックに積まれる

TitleScene.cpp

void Title::menuChangeScene(CCObject *pSender)
{
    //CCDirector::sharedDirector()->replaceScene( HelloWorld::scene());
    CCDirector::sharedDirector()->pushScene(HelloWorld::scene());
}

前のシーンに戻る

  • 子として作ったHelloWorldから前のTitleSceneに戻る処理を作る
    • とりあえず終了ボタンを押した時の処理を戻る機能にして確認してみる

HelloWorld.cpp

void HelloWorld::menuCloseCallback(CCObject* pSender)
{
    /*
    CCDirector::sharedDirector()->end();

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    exit(0);
#endif
     */
    CCDirector::sharedDirector()->popScene();
}

前のシーンに戻るボタンを作る

f:id:kambayashi:20120818184526p:plain