游戏开发中经常需要用到Cocos2d-x 3.x中的场景切换特效,本文中进行一下汇总。

      基本使用思路如下:

?

1
2
3
auto scene=HelloWorld::createScene(); //创建待切换的场景
auto transition=TransitionZoomFlipY::create( 1 .0f,scene); //给场景包装动画特效 
Director::getInstance()->replaceScene(transition); //运用导演类来进行切换场景


      下面列举下场景切换的动画效果,可以参考上面的代码来运用各个特效,在自己的游戏中适当的运用特效可以起到很好的效果。


//慢慢淡化到另一场景

TransitionCrossFade::create(时间,目标场景); 

  

//本场景变暗消失后另一场景慢慢出现

TransitionFade::create(时间,目标场景); 

  

//本场景右上角到左下角方块消失到另一场景

TransitionFadeBL::create(时间,目标场景); 

  

//本场景从上到下横条消失到另一场景

TransitionFadeDown::create(时间,目标场景); 

  

//本场景左下角到右上角方块消失到另一场景

TransitionFadeTR::create(时间,目标场景); 

  

//本场景从下到上横条消失到另一场景

TransitionFadeUp::create(时间,目标场景); 

  

//本场景翻转消失到另一场景(斜上方)

TransitionFlipAngular::create(时间,目标场景,样式 );

  

//本场景翻转消失到另一场景(X轴)

TransitionFlipX::create(时间,目标场景,样式);

  

//本场景翻转消失到另一场景(Y轴)

TransitionFlipY::create(时间,目标场景); 

  

//本场景跳动消失后另一场景跳动出现

TransitionJumpZoom::create(时间,目标场景); 

  

//另一场景由整体从下面出现

TransitionMoveInB::create(时间,目标场景); 

  

//另一场景由整体从左面出现

TransitionMoveInL::create(时间,目标场景); 

  

//另一场景由整体从上面出现

TransitionMoveInT::create(时间,目标场景); 

  

//另一场景由整体从右面出现

TransitionMoveInR::create(时间,目标场景); 

  

//翻页切换,booltrue是向前翻。

TransitionPageTurn::create(时间,目标场景,bool); 

  

//本场景从左到右消失同时另一场景出现

TransitionProgressHorizontal::create(时间,目标场景);

  

//本场景从中间到四周消失同时另一场景出现

TransitionProgressInOut::create(时间,目标场景); 

  

//本场景从四周到中间消失同时另一场景出现

TransitionProgressOutIn::create(时间,目标场景); 

  

//本场景逆时针消失到另一场景

TransitionProgre***adialCCW::create(时间,目标场景); 

  

//本场景顺时针消失到另一场景

TransitionProgre***adialCW::create(时间,目标场景); 

  

//本场景从上到下消失同时另一场景出现

TransitionProgressVertical::create(时间,目标场景); 

  

//本场景旋转消失后另一场景旋转出现

TransitionRotoZoom::create(时间,目标场景); 

  

//本场景缩小切换到另一场景放大

TransitionShrinkGrow::create(时间,目标场景); 

  

//本场景向上滑动到另一场景

TransitionSlideInB::create(时间,目标场景); 

  

//本场景向右滑动到另一场景

TransitionSlideInL::create(时间,目标场景); 

  

//本场景向左滑动到另一场景

TransitionSlideInR::create(时间,目标场景); 

  

//本场景向下滑动到另一场景

TransitionSlideInT::create(时间,目标场景); 

  

//本场景三矩形上下消失后另一场景三矩形上下出现

TransitionSplitCols::create(时间,目标场景); 

  

//本场景三矩形左右消失后另一场景三矩形左右出现

TransitionSplitRows::create(时间,目标场景); 

  

//本场景小方块消失到另一场景

TransitionTurnOffTiles::create(时间,目标场景); 

  

//本场景翻转消失到另一场景(斜上方)

TransitionZoomFlipAngular::create(时间,目标场景,样式); 

  

//本场景翻转消失到另一场景(X轴)

TransitionZoomFlipX::create(时间,目标场景,样式); 

  

//本场景翻转消失到另一场景(Y轴)

TransitionZoomFlipY::create(时间,目标场景,样式);