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(); }
前のシーンに戻るボタンを作る
- 終了ボタンは元の処理に戻して、専用ボタンを作る
- ボタンを作った時の記事を参考にする