CCScene切換的全部特效(28種)以及設置屏幕橫豎屏!

  CCScene 對於使用cocos2d的童鞋確定很熟悉,那麼在使用   [[CCDirectorsharedDirector]replaceScene:<#(CCScene *)scene#>];  對scene進行場景(CCLayout)進行切換時,cocos2d提供了一些特效進行過渡,那麼今天仔細翻開cocos2d源碼,將全部的動畫效果都測試了一遍,大概整理以下,提供你們查閱和使用吧;
      由於我使用的是最新的cocos2d的1.0版本,因此一些函數方法跟以前不同了,因此不要感到奇怪;
      因爲代碼都有備註,因此就直接上代碼了,就不詳細單獨解釋了;關於註釋的都是個人直觀體驗,推薦你們放到本身項目中,本身都看看每一個的效果,這樣記憶深入;

  //觸摸事件 - 當手指從屏幕擡起時調用的方法-Himi
-(void) ccTouchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
    CCScene* scenec = [OtherLayout scene];
    //部落格------
    //CCTransitionTurnOffTiles *transitionScene = [CCTransitionTurnOffTiles transitionWithDuration:3 scene:scenec];
    //近遠-遠近-----
    //CCTransitionShrinkGrow *transitionScene = [CCTransitionShrinkGrow transitionWithDuration:3 scene:scenec];
    //另外一個layout左側進入(視覺感受是屏幕右移)
    //CCTransitionSlideInL *transitionScene = [CCTransitionSlideInL transitionWithDuration:3 scene:scenec];
    //另外一個layout右側進入(視覺感受是屏幕左移)
    //CCTransitionSlideInR *transitionScene = [CCTransitionSlideInR transitionWithDuration:3 scene:scenec];
    //另外一個layout上側進入(視覺感受是屏幕下移)
    //CCTransitionSlideInT *transitionScene = [CCTransitionSlideInT transitionWithDuration:3 scene:scenec];
    //另外一個layout下側進入(視覺感受是屏幕上移)
    //CCTransitionSlideInB *transitionScene = [CCTransitionSlideInB transitionWithDuration:3 scene:scenec];
    //當前屏幕被分爲3列,兩則下移,中間上移
    //CCTransitionSplitCols *transitionScene = [CCTransitionSplitCols transitionWithDuration:3 scene:scenec];
    //當前屏幕被分爲3列,兩則左移,中間右移
    //CCTransitionSplitRows *transitionScene = [CCTransitionSplitRows transitionWithDuration:3 scene:scenec];    
     //扇形轉換-----
    //CCTransitionRadialCW *transitionScene = [CCTransitionRadialCW transitionWithDuration:3 scene:scenec];
    //平面旋轉-----
    //CCTransitionRotoZoom *transitionScene = [CCTransitionRotoZoom transitionWithDuration:3 scene:scenec];
    //近-遠-跳動------
    //CCTransitionJumpZoom *transitionScene = [CCTransitionJumpZoom transitionWithDuration:3 scene:scenec];
    //立體反轉(X軸)--(還有種從近到遠,從遠到近的感受)--------
    //CCTransitionZoomFlipX *transitionScene = [CCTransitionZoomFlipX transitionWithDuration:3 scene:scenec];
    //立體反轉(Y軸)-(還有種從近到遠,從遠到近的感受)-------
    //CCTransitionZoomFlipY *transitionScene = [CCTransitionZoomFlipY transitionWithDuration:3 scene:scenec];
    //立體反轉(X,Y軸)---(還有種從近到遠,從遠到近的感受)-----
    //CCTransitionZoomFlipAngular *transitionScene = [CCTransitionZoomFlipAngular transitionWithDuration:3 scene:scenec];
    //另一個layout左側進入覆蓋當前layout
    //CCTransitionMoveInL *transitionScene = [CCTransitionMoveInL transitionWithDuration:3 scene:scenec];
    //另一個layout右側進入覆蓋當前layout
    //CCTransitionMoveInR *transitionScene = [CCTransitionMoveInR transitionWithDuration:3 scene:scenec];
    //另一個layout上側進入覆蓋當前layout
    //CCTransitionMoveInT *transitionScene = [CCTransitionMoveInT transitionWithDuration:3 scene:scenec];
    //另一個layout下側進入覆蓋當前layout
    //CCTransitionMoveInB *transitionScene = [CCTransitionMoveInB transitionWithDuration:3 scene:scenec];
    //立體反轉(X軸)--2D平面反轉,沒有遠近感
    //CCTransitionFlipX *transitionScene = [CCTransitionFlipX transitionWithDuration:3 scene:scenec];
    //立體反轉(Y軸)--2D平面反轉,沒有遠近感
    //CCTransitionFlipY *transitionScene = [CCTransitionFlipY transitionWithDuration:3 scene:scenec];
    //立體反轉(X,Y軸)--2D平面反轉,沒有遠近感
    //CCTransitionFlipAngular *transitionScene = [CCTransitionFlipAngular transitionWithDuration:3 scene:scenec];
    //實體-透明-實體(默認無顏色,能夠附帶顏色)
    //CCTransitionFade* transitionScene = [CCTransitionFade transitionWithDuration:3 scene:scenec withColor:ccWHITE];
    //另一個直接漸變覆蓋當前layout
    //CCTransitionCrossFade *transitionScene = [CCTransitionCrossFade transitionWithDuration:3 scene:scenec];
    //移動(方格狀)部落格,從左下往右上
    //CCTransitionFadeTR *transitionScene = [CCTransitionFadeTR transitionWithDuration:3 scene:scenec];
    //移動(方格狀)部落格,從右上往左下    
    CCTransitionFadeBL *transitionScene = [CCTransitionFadeBL transitionWithDuration:3 scene:scenec];
    //移動(長矩形,寬度是屏幕寬)部落格,從下往上
    //CCTransitionFadeUp *transitionScene = [CCTransitionFadeUp transitionWithDuration:3 scene:scenec];
    //移動(長矩形,寬度是屏幕寬)部落格,從上往下
    //CCTransitionFadeDown *transitionScene = [CCTransitionFadeDown transitionWithDuration:3 scene:scenec];
    [[CCDirector sharedDirector] replaceScene: transitionScene];
}app

  以上代碼Himi推薦你們本身常識運行每種特效,畢竟每一個人都有不一樣的感受,註釋都是個人感受寫的,大概註釋了一下而已;ide

         下面我來給你們介紹如何在cocos2d 1.0版本中設置豎屏顯示,由於默認是橫屏;函數

        首先找到RootViewController.m 類(此類在1.0版本存在),而後找到宏定義的一段代碼,代碼以下:oop

       #elif GAME_AUTOROTATION == kGameAutorotationUIViewController學習

而後下面能看到cocos2d的默認代碼是設置橫屏:測試

  1. return ( UIInterfaceOrientationIsLandscape( interfaceOrientation ) );  

若是想設置豎屏,請更改以下便可:動畫

  1. return (UIInterfaceOrientationIsPortrait(interfaceOrientation));  

ok,今天就先介紹這裏~繼續學習~下面給出一張,部落格效果,從左下往右上的切換特效截圖;this

相關文章
相關標籤/搜索