Cocos2d-x场景切换

1、普通切换场景
Director::getInstance()->replaceScene(SecondScene::createScene());
2、包含特效的场景切换
Director::getInstance()->replaceScene(TransitionRotoZoom::create(3.0f,SecondScene::createScene()));
特效的场景:
TransitionJumpZoom:原场景缩小弹出,新场景放大弹入
TransitionProgressRadialccw:逆时针切换
TransitionProgressHorizontal:水平向右切换
TransitionProgressInOut:从里向外切换
TransitionProgressCrossFade:原场景慢慢消失,新场景慢慢出现
TransitionPageForward:翻页下一页
TransitionFadeTR:方块却换左下角
TransitionFadeUp:从下向上的百叶窗
TransitionTurnOffTiles:方块切换,到处都是
TransitionSpiltRows:分离的矩形横向切换
TransitionFade:渐渐消失(变黑),渐变出现
FlipXLeftOver:整体横向翻转,从左往右
ZoomFlipXLeftOver:整体横向翻转,从左往右,并根据离视野远近缩放大小
TransitionShrinkGrow:原场景往后方缩小消失,新场景从后方往前放到出现
TransitionRotoZoom:原场景螺旋式往后方缩小消失,新场景螺旋式从后方往前放到出现
TransitionMoveInL:新场景从左向右移入
TransitionSlideInL:新旧场景同时从左向右移动
TransitionJumpZoom: 原场景缩小调走,新场景缩小跳进
3.推进和弹出场景
推进场景
pushScene函数将新的场景覆盖当前场景,当前场景会被暂停,但不会被释放。代码如下:
Director::getInstance()->pushScene(SecondScene::createScene());
弹出场景
popScene和pushScene对应,popScene将新场景释放,恢复旧场景的显示,注意,新场景不会 被释放。代码如下:
Director::getInstance()->popScene();

小结:
replaceScene函数进行场景的切换,会导致旧场景被释放,这是非常必要的,因为在实际的开发中,一个场景占用的内存资源也许会很大,所以切换场景或必须释放旧场景的资源。
pushScene和popScene不需要释放旧场景,新旧场景同时存放在内存中。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...