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
  • 相关阅读:
    OLAP ODS项目的总结 平台选型,架构确定
    ORACLE ORA12520
    ORACLE管道函数
    ORACLE RAC JDBC 配置
    ORACLE RAC OCFS连接产生的错误
    ORACLE 启动和关闭详解
    OLAP ODS项目的总结 起步阶段
    ORACLE RAC 配置更改IP
    ORACLE RAC OCR cann't Access
    ORACLE RAC Debug 之路 CRS0184错误与CRS初始化
  • 原文地址:https://www.cnblogs.com/chuckTsao/p/2986109.html
Copyright © 2011-2022 走看看