Cocos2d-x Scene Transition

Scene

Cocos2d-x scene model is stack model, and LIFO.
Transition type is Push, Pop, Replace.

Example

This is GamePause(PauseMenu).
We need Resume game, Go to Top, and Retry

void Resume(Ref *pSender);
void GoToMainMenuScene(Ref *pSender);
void Retry(Ref *pSender);
void PauseScreen::GoToMainMenuScreen(cocos2d::Ref *pSender) {
	auto scene = MainMenu::createScene();
	Director::getInstance()->replaceScene(scene);
}

void PauseScreen::Resume(cocos2d::Ref *pSender) {
	Director::getInstance()->popScene();
}

void PauseScreen::Retry(cocos2d::Ref *pSender) {

	auto scene = GameScreen::createScene();

	Director::getInstance()->popScene();
	Director::getInstance()->replaceScene(scene);
}

Transition Animation

  • TransitionFade
  • TransitionFlipX
  • TransitionFlipY
  • TransitionPageTurn

Example

auto scene = NewScene::createScene();
auto transition = TransitionFade::create(1.0f, scene);
//auto transition = TransitionFlipX::create(3, scene);
//auto transition = TransitionFlipY::create(3, scene);
//auto transition = TransitionPageTurn::create(3, scene, false);
Director::getInstance()->replaceScene(transition);