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不需要释放旧场景,新旧场景同时存放在内存中。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值