cocos2d-x 3.0中場景切換特效比較多,而且游戲開發中也經常需要用到這些特效,來使場景切換時不至於那麼干巴,遂這裡匯總一下,開發中使用。
場景切換用到導演類Directory,大多數用的都是替換場景,當然也可以用出棧進棧的方式來進行場景的替換,這裡以replaceScene來舉例。
場景切換特效的應用代碼:
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(時間,目標場景); //翻頁切換,bool為true是向前翻。 TransitionPageTurn::create(時間,目標場景,bool); //本場景從左到右消失同時另一場景出現 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(時間,目標場景,樣式); //本場景翻轉消失到另一場景(X軸) TransitionZoomFlipX::create(時間,目標場景,樣式); //本場景翻轉消失到另一場景(Y軸) TransitionZoomFlipY::create(時間,目標場景,樣式);