Cocos2d-x 3.9教程
模仿工程自带的HelloWorld场景(实际上是一个Layer),创建另一个自定义的场景(其实也是一个Layer),如MyTestScene1。参照原有Scene,实现createScene()、create()、init()方法
然后在HelloWorld的menuCloseCallBack()函数中,删除原来的退出游戏代码,修改为:
Director::getInstance()->replaceScene(MyTestScene1::createScene());
在menuCloseCallBack()函数中,把直接切换代码改为如下几种(仅仅例举了几种切换方式):
① 从上向下切入:
Director::getInstance()->replaceScene(
TransitionSlideInT::create(2, MyTestScene1::createScene()));
② 淡出淡入切入:
Director::getInstance()->replaceScene(
TransitionFade::create(2, MyTestScene1::createScene()));
③ 缩小、跳跃切入:
Director::getInstance()->replaceScene(
TransitionJumpZoom::create(2, MyTestScene1::createScene()));
注意,上一节几种切换Scene的方式,都是会销毁旧Scene的资源的。如果不想销毁之前的Scene,比如在游戏时切换选项页面(音量、控制选项),设置完毕后再切回去,那么需要用pushScene的方式,如:
弹入:Director::getInstance()->pushScene(
TransitionFade::create(2, MyTestScene1::createScene()));
弹出:Director::getInstance()->popScene();