遊戲開發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 實戰源碼下載

下載源碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章