cocos2d-x初探學習筆記(6)--場景間切換效果

 小滿(bill man)個人原創,歡迎轉載,轉載請註明地址,小滿(bill man)的專欄地址http://blog.csdn.net/bill_man

Cocos2d-x提供了很多場景間切換的效果,可以方便大家使用(很多是在Kjava時代都需要程序員自己來實現的效果)。

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);//按列切

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