zoukankan      html  css  js  c++  java
  • 学习cocos2dx

    cocos2dx scene切换动画

    #ifndef  _EFFECT_
    #define  _EFFECT_
    
    #include  "cocos2d.h"
    
    using namespace cocos2d;
    
    enum SceneTransitionEffect {
        NORMAL,             
        GRID,               //部落格
        SWITCH,             //近远-远近----- 
        MOVE_LEFT,          //另一个layout左侧进入(视觉感觉是屏幕右移)
        MOVE_RIGHT,         //另一个layout右侧进入(视觉感觉是屏幕左移)  
        MOVE_UP,            //另一个layout上侧进入(视觉感觉是屏幕下移)  
        MOVE_DOWN,          //另一个layout下侧进入(视觉感觉是屏幕上移) 
        MIDDLE_UP,          //当前屏幕被分为3列,两则下移,中间上移  
        MIDDLE_RIGHT,       //当前屏幕被分为3列,两则左移,中间右移 
        FAN_SWITCH,         //扇形转换
        FLAT_SWITCH,        //平面旋转
        NEAR_FAR_JUMP,      //近-远-跳动
        FLIP_X_3D,          //3D x轴反转
        FLIP_Y_3D,          //3D y轴反转
        FLIP_XY_3D,         //3D x,y轴反转
        FLIP_X,             //x轴反转
        FLIP_Y,             //y轴反转
        FLIP_XY,            //x,y轴反转
        IN_LEFT,            //另外一个layout左侧进入覆盖当前layout 
        IN_RIGHT,           //另外一个layout右侧进入覆盖当前layout 
        IN_TOP,             //另外一个layout上面进入覆盖当前layout 
        IN_BOTTOM,          //另外一个layout下面进入覆盖当前layout 
        FADE,               //渐变(默认无颜色,可以附带颜色)  
        FADE_WHITE,         //渐变(默认无颜色,可以附带颜色)  
        CROSS_FADE,         //另外一个直接渐变覆盖当前layout   
        FADE_TR,            //移动(方格状)部落格,从左下往右上  
        FADE_BL,            //移动(方格状)部落格,从右上往左下   
        FADE_UP,            //移动(长矩形,宽度是屏幕宽)部落格,从下往上
        FADE_DOWN,          //移动(长矩形,宽度是屏幕宽)部落格,从上往下
        };
    
    static void SceneEffect(CCScene* scene,SceneTransitionEffect type)
    {
        CCDirector* director=CCDirector::sharedDirector();
    //    type=FADE_DOWN;
        
        switch (type) {
            case    NORMAL:
                director->replaceScene(scene);
                break;
            case    GRID:
                director->replaceScene(CCTransitionTurnOffTiles::transitionWithDuration(1.2f,scene));
                break;
            case    SWITCH:
                director->replaceScene(CCTransitionShrinkGrow::transitionWithDuration(1.2f,scene));
                break;
            case    MOVE_LEFT:
                director->replaceScene(CCTransitionSlideInR::transitionWithDuration(1.2f,scene));
                break;
            case    MOVE_RIGHT:
                director->replaceScene(CCTransitionSlideInL::transitionWithDuration(1.2f,scene));
                break;
            case    MOVE_UP:
                director->replaceScene(CCTransitionSlideInB::transitionWithDuration(1.2f,scene));
                break;
            case    MOVE_DOWN:
                director->replaceScene(CCTransitionSlideInT::transitionWithDuration(1.2f,scene));
                break;    
            case    MIDDLE_UP:
                director->replaceScene(CCTransitionSplitCols::transitionWithDuration(1.2f,scene));
                break;
            case    MIDDLE_RIGHT:
                director->replaceScene(CCTransitionSplitRows::transitionWithDuration(1.2f,scene));
                break;        
            case    FAN_SWITCH:
                director->replaceScene(CCTransitionRadialCW::transitionWithDuration(1.2f,scene));
                break;
            case    FLAT_SWITCH:
                director->replaceScene(CCTransitionRotoZoom::transitionWithDuration(1.2f,scene));
                break;
            case    NEAR_FAR_JUMP:
                director->replaceScene(CCTransitionJumpZoom::transitionWithDuration(1.2f,scene));
                break;
            case    FLIP_X_3D:
                director->replaceScene(CCTransitionZoomFlipX::transitionWithDuration(1.2f,scene));
                break;    
            case    FLIP_Y_3D:
                director->replaceScene(CCTransitionZoomFlipY::transitionWithDuration(1.2f,scene));
                break;
            case    FLIP_XY_3D:
                director->replaceScene(CCTransitionZoomFlipAngular::transitionWithDuration(1.2f,scene));
                break;
            case    FLIP_X:
                director->replaceScene(CCTransitionFlipX::transitionWithDuration(1.2f,scene));
                break;    
            case    FLIP_Y:
                director->replaceScene(CCTransitionFlipY::transitionWithDuration(1.2f,scene));
                break;  
            case    FLIP_XY:
                director->replaceScene(CCTransitionFlipAngular::transitionWithDuration(1.2f,scene));
                break;    
            case    IN_LEFT:
                director->replaceScene(CCTransitionMoveInL::transitionWithDuration(1.2f,scene));
                break;  
            case    IN_RIGHT:
                director->replaceScene(CCTransitionMoveInR::transitionWithDuration(1.2f,scene));
                break;    
            case    IN_TOP:
                director->replaceScene(CCTransitionMoveInT::transitionWithDuration(1.2f,scene));
                break;  
            case    IN_BOTTOM:
                director->replaceScene(CCTransitionMoveInB::transitionWithDuration(1.2f,scene));
                break;   
            case    FADE:
                director->replaceScene(CCTransitionFade::transitionWithDuration(1.2f,scene,ccc3(0,0,0)));//ccBlack
                break;  
            case    FADE_WHITE:
                director->replaceScene(CCTransitionFade::transitionWithDuration(1.2f,scene,ccc3(255,255,255)));//ccWHITE
                break;  
            case    CROSS_FADE:
                director->replaceScene(CCTransitionCrossFade::transitionWithDuration(1.2f,scene));
                break;  
            case    FADE_TR:
                director->replaceScene(CCTransitionFadeBL::transitionWithDuration(1.2f,scene));
                break;  
            case    FADE_BL:
                director->replaceScene(CCTransitionFadeTR::transitionWithDuration(1.2f,scene));
                break;  
            case    FADE_UP:
                director->replaceScene(CCTransitionFadeDown::transitionWithDuration(1.2f,scene));
                break;  
            case    FADE_DOWN:
                director->replaceScene(CCTransitionFadeUp::transitionWithDuration(1.2f,scene));
                break;      
            default:
                break;
        }
    }
    
    
    #endif
  • 相关阅读:
    最全前端开发书籍整理推荐
    一个命令搞定MP4文件转m3u8文件
    Git基本使用方法
    How to write class diagram
    OpenSSL Installation On Windows
    单点登录(Single Sign On)解决方案
    利用 jQuery 克隆对象
    java中自定义一个异常类 在某些情况抛出自定的异常 ----------阻断程序
    Java 如何抛出异常、自定义异常
    flowable流程启动时监听器
  • 原文地址:https://www.cnblogs.com/chuckTsao/p/2986109.html
Copyright © 2011-2022 走看看