Cocos2D-X 場景切換效果彙總

Cocos2d-x提供了很多場景間切換的效果,可以方便大家使用。

1.使用方法:
正常的無過渡場景的如果尚未建立場景(即遊戲中的第一個場景),就是用pDirector->runWithScene(pScene);即可以使 用相應場景,如果是替換場景,則使用CCDirector::sharedDirector()->replaceScene(this);替換相 應的場景即可,而如果要使用場景間的切換效果來切換場景,則需要使用相應的切換方法即transitionWithDuration(當然不同效果的使用 方法略有不同)生成相應場景,然後再通過CCDirector::sharedDirector()->replaceScene(this)來啓 動場景,也就是說這個給這個場景加了一個外包裝,然後再啓動,那麼,這個場景就不是直接顯示了,而是在場景的效果使用完了以後進入場景,起到過渡的效果。
一般此函數有兩個參數,第一個是特效的切換時間,直接生成一個CCTime即可,例子中設定的時間是1.2s,對於很多場景的顯示都很舒服,第二個是要進入的場景,有的會有第三個參數,會在下面介紹
2.test中的效果總結
CCTransitionJumpZoom::transitionWithDuration(t, s);//跳躍式,本場景先會縮小,然後跳躍進來
CCTransitionFade::transitionWithDuration(t, s);//淡出淡入,原場景淡出,新場景淡入
CCTransitionFade::transitionWithDuration(t, s, ccWHITE);//如果上一個的函數,帶3個參數,則第三個參數就是淡出淡入的顏色
CCTransitionFlipX::transitionWithDuration(t, s, kOrientationLeftOver);//x軸左翻
CCTransitionFlipX::transitionWithDuration(t, s, kOrientationRightOver);//x軸右翻
CCTransitionFlipY::transitionWithDuration(t, s, kOrientationUpOver);//y軸上翻
CCTransitionFlipY::transitionWithDuration(t, s, kOrientationDownOver);//y軸下翻
CCTransitionFlipAngular::transitionWithDuration(t, s, kOrientationLeftOver);//有角度轉的左翻
CCTransitionFlipAngular::transitionWithDuration(t, s, kOrientationRightOver);//有角度轉的右翻
CCTransitionZoomFlipX::transitionWithDuration(t, s, kOrientationLeftOver);//帶縮放效果x軸左翻
CCTransitionZoomFlipX::transitionWithDuration(t, s, kOrientationRightOver);//帶縮放效果x軸右翻
CCTransitionZoomFlipY::transitionWithDuration(t, s, kOrientationUpOver);//帶縮放效果y軸上翻
CCTransitionZoomFlipY::transitionWithDuration(t, s, kOrientationDownOver);//帶縮放效果y軸下翻
CCTransitionZoomFlipAngular::transitionWithDuration(t, s, kOrientationLeftOver);//帶縮放效果/有角度轉的左翻
CCTransitionZoomFlipAngular::transitionWithDuration(t, s, kOrientationRightOver);//帶縮放效果有角度轉的右翻
CCTransitionShrinkGrow::transitionWithDuration(t, s);//交錯換
CCTransitionRotoZoom::transitionWithDuration(t, s);//轉角換
CCTransitionMoveInL::transitionWithDuration(t, s);//新場景從左移入覆蓋
CCTransitionMoveInR::transitionWithDuration(t, s);//新場景從右移入覆蓋
CCTransitionMoveInT::transitionWithDuration(t, s);//新場景從上移入覆蓋
CCTransitionMoveInB::transitionWithDuration(t, s);//新場景從下移入覆蓋
CCTransitionSlideInL::transitionWithDuration(t, s);//場景從左移入推出原場景
CCTransitionSlideInR::transitionWithDuration(t, s);//場景從右移入推出原場景
CCTransitionSlideInT::transitionWithDuration(t, s);//場景從上移入推出原場景
CCTransitionSlideInB::transitionWithDuration(t, s);//場景從下移入推出原場景
以下三個需要檢測opengl版本是否支持CCConfiguration::sharedConfiguration()->getGlesVersion() <= GLES_VER_1_0如果爲真則爲不支持
CCTransitionCrossFade::transitionWithDuration(t,s);//淡出淡入交叉,同時進行
CCTransitionRadialCCW::transitionWithDuration(t,s);//順時針切入
CCTransitionRadialCW::transitionWithDuration(t,s);//逆時針切入
以下兩個需要先設置攝像機,使用CCDirector::sharedDirector()->setDepthTest(true); CCTransitionPageTurn::transitionWithDuration(t, s, false);//翻頁,前翻
CCTransitionPageTurn::transitionWithDuration(t, s, true);//翻頁,後翻
CCTransitionFadeTR::transitionWithDuration(t, s);//向右上波浪
CCTransitionFadeBL::transitionWithDuration(t, s);//向左下波浪
CCTransitionFadeUp::transitionWithDuration(t, s);//向上百葉窗
CCTransitionFadeDown::transitionWithDuration(t, s);//向下百葉窗
CCTransitionTurnOffTiles::transitionWithDuration(t, s);//隨機小方塊
CCTransitionSplitRows::transitionWithDuration(t, s);//按行切
CCTransitionSplitCols::transitionWithDuration(t, s);//按列切


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