游戏开发cocos2d-x实战(7) -- 场景切换

1 直接切换

就是用某个场景替换当前场景,原先场景就被释放掉了。
auto newScene = xxxx::createScene();
Director::getInstance()->replaceScene(newScene);

2 动画切换

替换当前场景时,加入动画动作:

Scene* ascen2 = CCTransitionJumpZoom::create(2.0f, SecondScene::initScene());
Director::getInstance()->replaceScene(ascen2);

动画效果还有:
TransitionCrossFade::create(时间,目标场景); //慢慢淡化到另一场景
TransitionFade::create(时间,目标场景); //本场景变暗消失后另一场景慢慢出现
TransitionFadeBL::create(时间,目标场景); //本场景右上角到左下角方块消失到另一场景
TransitionFadeDown::create(时间,目标场景); //本场景从上到下横条消失到另一场景
TransitionFadeTR::create(时间,目标场景); //本场景左下角到右上角方块消失到另一场景
TransitionFadeUp::create(时间,目标场景); //本场景从下到上横条消失到另一场景
TransitionFlipAngular::create(时间,目标场景,样式 );//本场景翻转消失到另一场景(斜上方)
TransitionFlipX::create(时间,目标场景,样式);//本场景翻转消失到另一场景(X轴)
TransitionFlipY::create(时间,目标场景); //本场景翻转消失到另一场景(Y轴)
TransitionJumpZoom::create(时间,目标场景); //本场景跳动消失后另一场景跳动出现
TransitionMoveInB::create(时间,目标场景); //另一场景由整体从下面出现
TransitionMoveInL::create(时间,目标场景); //另一场景由整体从左面出现
TransitionMoveInT::create(时间,目标场景); //另一场景由整体从上面出现
TransitionMoveInR::create(时间,目标场景); //另一场景由整体从右面出现
TransitionPageTurn::create(时间,目标场景,bool); //翻页切换,bool为true是向前翻。
TransitionProgressHorizontal::create(时间,目标场景);//本场景从左到右消失同时另一场景出现
TransitionProgressInOut::create(时间,目标场景); //本场景从中间到四周消失同时另一场景出现
TransitionProgressOutIn::create(时间,目标场景); //本场景从四周到中间消失同时另一场景出现
TransitionProgressRadialCCW::create(时间,目标场景); //本场景逆时针消失到另一场景
TransitionProgressRadialCW::create(时间,目标场景); //本场景顺时针消失到另一场景
TransitionProgressVertical::create(时间,目标场景); //本场景从上到下消失同时另一场景出现
TransitionRotoZoom::create(时间,目标场景); //本场景旋转消失后另一场景旋转出现
TransitionShrinkGrow::create(时间,目标场景); //本场景缩小切换到另一场景放大
TransitionSlideInB::create(时间,目标场景); //本场景向上滑动到另一场景
TransitionSlideInL::create(时间,目标场景); //本场景向右滑动到另一场景
TransitionSlideInR::create(时间,目标场景); //本场景向左滑动到另一场景
TransitionSlideInT::create(时间,目标场景); //本场景向下滑动到另一场景
TransitionSplitCols::create(时间,目标场景); //本场景三矩形上下消失后另一场景三矩形上下出现
TransitionSplitRows::create(时间,目标场景); //本场景三矩形左右消失后另一场景三矩形左右出现
TransitionTurnOffTiles::create(时间,目标场景); //本场景小方块消失到另一场景
TransitionZoomFlipAngular::create(时间,目标场景,样式); //本场景翻转消失到另一场景(斜上方)
TransitionZoomFlipX::create(时间,目标场景,样式); //本场景翻转消失到另一场景(X轴)
TransitionZoomFlipY::create(时间,目标场景,样式);//本场景翻转消失到另一场景(Y轴)

3 压栈出栈切换

// 把新的场景压入栈中,并作为当前场景
Director::getInstance()->pushScene(newscene);

// 把当前场景出栈,栈中顶层的场景作为当前场景
Director::getInstance()->popScene();

// 直接回到栈最底层的场景
Director::getInstance()->popToRootScene();

4 实战源码下载

下载源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值