`
7090
  • 浏览: 280333 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

cocos2d-x 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


参考:http://blog.csdn.net/xiaominghimi/article/details/6651281

分享到:
评论

相关推荐

    cocos2d-x中国象棋

    1. **对象和场景管理**:在Cocos2d-x中,游戏逻辑被组织成一系列的节点(Node),这些节点可以是游戏对象如棋子,也可以是场景(Scene)。开发者通过创建和管理这些节点来构建游戏世界。 2. **用户交互**:游戏中的...

    cocos2dx_study.rar_cocos2d-x_cocos2d-x实例_cocos2dx

    《cocos2d-x手机游戏开发》 Cocos2d-x是一个开源的游戏开发框架,它基于C++,但同时也支持Lua和JavaScript等脚本语言,让开发者能够快速地创建跨平台的游戏。本资料集合旨在为初学者提供一个全面的cocos2d-x学习...

    精通COCOS2D-X游戏开发 基础卷 ,王永宝著 ,P368 ,2016.04

    《精通COCOS2D-X游戏开发 基础卷》是王永宝撰写的一本专为初学者设计的游戏开发指南。这本书详细介绍了Cocos2d-x框架的基础知识和实战技巧,旨在帮助开发者快速掌握使用Cocos2d-x进行游戏开发的基本技能。Cocos2d-x...

    OSTC开源技术大会-蔡文智-Cocos2D-x与游戏开发

    在Cocos2D-x v2.2版本中,渲染流程是这样的:场景(Scene)-图层(Layer)-菜单(Menu)-精灵(Sprite),而在Cocos2D-x v3.0版本中,渲染流程被简化为:场景-变换-图层-变换-菜单-变换-精灵。通过这种方式,Cocos2D...

    cocos2d-x 魔方图片

    cocos2d-x提供了一系列的图形变换方法,如`rotateTo`、`moveTo`等,使得对图片的操作变得简单直观。 `DragButtonDemo`可能是一个可拖动按钮的示例,这在许多游戏中是非常常见的交互元素。cocos2d-x中的`...

    cocos2d-x 游戏俄罗斯方块

    cocos2d-x 提供了Scene、Layer、Node等类来构建游戏场景,我们可以创建一个主Scene来承载整个游戏,然后在其上添加控制面板(如暂停、继续按钮)、得分显示等元素。使用Label类展示得分,触摸事件监听则可以实现玩家...

    cocos2d-js 开发之旅-源代码

    《cocos2d-js 开发之旅》是一本深入解析cocos2d-js框架的书籍,其配套源代码提供了丰富的实践示例,帮助开发者更直观地理解cocos2d-js的运用。cocos2d-js是Cocos2D跨平台游戏引擎的JavaScript版本,它为Web开发人员...

    cocos2d-x 2.2 api

    1. **场景和层**:在Cocos2d-x中,游戏的逻辑通常被组织成场景(Scene)和层(Layer)。场景是游戏的顶层容器,而层则包含游戏的特定部分,如游戏关卡或用户界面。`CCScene`和`CCLayer`类是这些概念的实现,它们提供...

    Cocos2d-x 3.10 API完整版离线文档

    3. **渲染系统**:Cocos2d-x使用了基于OpenGL的渲染引擎,提供了一系列图形操作接口,如绘图、纹理处理、矩阵变换等。`cc::DrawNode`类允许开发者直接绘制几何形状,而`cc::SpriteBatchNode`则优化了大量相似精灵的...

    cocos2d-x 3d模型显示

    在游戏开发领域,Cocos2d-x 是一个广泛使用的开源跨平台2D和3D游戏引擎。本主题聚焦于“cocos2d-x 3d模型显示”,这涉及到如何在Cocos2d-x环境中加载、渲染和管理3D模型。下面我们将深入探讨这一主题。 1. **3D模型...

    cocos2d-x_wiki

    《cocos2d-x_wiki》是针对cocos2d-1.0.1-x-0.11.0版本的官方wiki文档,以PDF格式呈现,为开发者提供了丰富的cocos2d-x游戏开发知识。cocos2d-x是一个开源的游戏开发框架,广泛应用于跨平台2D游戏开发,支持iOS、...

    cocos2d-x 基础知识2

    总结来说,掌握cocos2d-x的节点和层级概念是游戏开发的基础,它涉及到游戏对象的创建、组织、变换以及事件处理等方面。通过对NodeHierarchy示例的学习和实践,开发者能够更好地运用cocos2d-x构建动态、交互的游戏...

    cocos2d-x实战C++卷

    - cocos2d-x内置了Box2D物理引擎,可以轻松地为游戏添加真实的物理效果。 #### 三、实战案例分析 除了理论知识外,《cocos2d-x实战C++卷》还提供了丰富的实战案例,帮助读者深入理解cocos2d-x的应用场景和技术...

    Cocos2D-x权威指南-代码实例

    《Cocos2D-x权威指南-代码实例》是一本针对Cocos2D-x游戏开发框架的实战型指导书籍,旨在帮助开发者深入理解和掌握Cocos2D-x的各种功能和技巧。Cocos2D-x是一个跨平台的2D游戏开发框架,支持iOS、Android、Windows等...

    Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_1

    在本教程中,我们将深入探讨如何在Cocos2d-x 3.2框架下开发大富翁游戏项目,特别是关注如何获取角色在游戏地图上的移动路径。Cocos2d-x是一个开源的游戏开发库,它基于C++,并支持多种平台,如iOS、Android和Windows...

    IOS应用源码之cocos2d-cocos2d-iphone-Release_1.1-88-g95fc5a4.zip

    《深入剖析iOS应用源码:cocos2d-cocos2d-iphone-Release_1.1-88-g95fc5a4.zip》 在iOS应用开发领域,Cocos2D是一个广受欢迎的游戏开发框架,它为开发者提供了丰富的2D图形渲染、动画和物理模拟功能。本篇将详细...

    iOS游戏应用源代码——cocos2d-CleverBumblebee-d9b2612.zip

    物理引擎在2D游戏中同样重要,Cocos2d集成了Box2D,使得开发者可以创建真实的物理效果,如碰撞检测、重力模拟等。在项目中,可能有专门的Layer来处理物理世界,并使用Box2D的Body、Fixture和Joint等概念来定义游戏...

    android cocos2d 演示

    通过分析这个“android cocos2d 演示”项目,开发者可以深入理解Cocos2d-x在Android上的工作原理,掌握如何结合Box2D进行物理模拟,以及如何创建互动性强、视觉效果丰富的游戏。这个项目对于初学者来说是一份宝贵的...

    Cocos2d x 3.x游戏开发实战(带标签)

    根据给定的信息,本文将重点围绕Cocos2d-x 3.x版本的游戏开发进行详细的解析与探讨。Cocos2d-x是一款非常受欢迎的跨平台游戏引擎,被广泛应用于移动游戏的开发之中。它支持多种编程语言,如C++、JavaScript等,并...

    cocos2dx的chm文档

    Cocos2d-x提供了Sprite类,支持动画和各种变换效果。 3. **Node**:所有可视和非可视对象的基类,包括Sprite、Layer、Scene等。Node具有位置、旋转、缩放等属性,以及添加子节点、调度器等功能。 4. **Action**:...

Global site tag (gtag.js) - Google Analytics