cocos2dx(6)

來源:互聯網
上載者:User
cocos2d-x初探學習筆記(6)--情境間轉場效果
2012-02-06 14:40:02     我來說兩句 
收藏    我要投稿   
[字型:小 大]
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);//按列切
 
剛開始研究此引擎,如有錯誤之處,希望大家多多指正

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.