`
fireDragonpzy
  • 浏览: 463294 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

cocos2d-x基础知识(三) 场景切换

阅读更多
首先讲场景之间的切换吧:

从一个场景切换到另一个场景,首先要新建一个cpp文件和.h文件 ,例如你要从HelloWorld场景切换到NewGame场景

新建一个NewGame.cpp 和NewGame.h文件

新建成功后,是两个空文件,其中的代码可以按照HelloWorld.cpp和HelloWorld.h文件写。如果你懒得写就直接copy吧。然后把其中的该修改的地方修改了。

这样就创建了两个场景了。那么接下来该如何实现切换呢 ?

在HelloWorld.h里面新定义一个函数:例如:

virtual void trans(CCObject *pSender)

在HelloWorld.cpp里面去实现这个函数(场景的切换)

void HelloWorld::trans(CCObject *pSender){

  CCScene *s = CCScene::node();

  NewGame *layer = NewGame::node();

  s->addChild(layer);

  CCDirector::sharedDirector()->replaceScene(CCTransitionPageTurn::transitionWithDuration(1, s, true));//这里我是实现的翻页效果,还有很多的其他效果,大家可以去尝试,其他的效果我将列在下面

}

然后就是如何调用这个函数呢 ?

其实很简单呢!例如你建了一个菜单选项:

CCMenuItemImage *pLastMenu = CCMenuItemImage::itemFromNormalImage("last.png","last1.png",this,   

 menu_selector(NewGame::trans));//这个就是调用了这个函数,我这里是用图片做的菜单选项,你也可以用字符串做选项,大同小异。

 

*********************************场景的切换效果***********************************

 

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() 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);//按列切
分享到:
评论

相关推荐

    cocos2d-x-3.1.zip

    Cocos2d-x 3.1版主要知识点包括: 1. **跨平台支持**:Cocos2d-x 3.1支持多种操作系统和设备,包括iOS、Android、Windows、Mac、Linux等,使得开发者可以编写一次代码,到处运行。 2. **C++基础**:Cocos2d-x主要...

    cocos2d-x 跑酷源码

    本文将深入探讨如何利用cocos2d-x开发一款跑酷游戏,通过分析提供的“runningGame”源码,我们将揭示其核心知识点,帮助初学者快速入门并提升对cocos2d-x的理解。 一、项目结构解析 "runningGame"源码项目通常包含...

    cocos2d-x 基础知识1

    《cocos2d-x基础知识1》 cocos2d-x是一款强大的开源游戏开发框架,它基于C++,并提供了Python、Lua等多种脚本语言接口,让开发者能够快速地创建2D游戏、桌面应用以及HTML5游戏。这个压缩包“Essentials.zip”很可能...

    贪吃蛇cocos2d-x

    【贪吃蛇cocos2d-x】是一款基于Cocos2d...通过学习和分析【贪吃蛇cocos2d-x】这个示例,开发者不仅可以掌握Cocos2d-x的基本用法,还能深入了解游戏开发过程中的设计模式和最佳实践,为创建自己的2D游戏打下坚实的基础。

    Cocos2d-X by Example Beginner's Guide

    这本书通过实例教学的方式,帮助读者快速掌握Cocos2d-X的基础知识和实战技巧。 Cocos2d-X框架基于C++,同时提供了Python和Lua的绑定,使得开发者可以根据自己的喜好选择不同的编程语言。它的核心特性包括场景管理、...

    cocos2d-x默认第一个模板

    此外,官方文档、社区论坛、GitHub上的开源项目和Stack Overflow等平台也是获取cocos2d-x知识的重要途径。 【测试与调试】 cocos2d-x提供了内置的调试工具,如`log`函数进行日志输出,`ccLOG`方便在控制台查看调试...

    Cocos2d-x之Lua核心编程 ,刘克男,杨雍著 ,P227

    以下将详细阐述Cocos2d-x与Lua结合的核心编程知识点。 1. Lua简介:Lua是一种动态类型的脚本语言,它的语法简洁明了,易于学习和使用。在Cocos2d-x中,Lua被用作游戏逻辑和控制层的语言,可以快速实现游戏逻辑和...

    关东升-Cocos2d-x实战:Lua卷

    总之,《Cocos2d-x实战:Lua卷》是一本全面而实用的游戏开发指南,它不仅包含了Lua编程的基础知识,还深入探讨了Cocos2d-x框架的应用技巧。对于那些想要进入游戏开发领域的学习者而言,这无疑是一本不可或缺的好书。...

    cocos2d-x 3.x 游戏开发实战光盘源码

    通过深入研究这些源码,开发者不仅可以提升cocos2d-x的技术能力,还能积累实际项目经验,为自己的游戏开发之路打下坚实基础。同时,这也有助于理解游戏开发的整体流程,以及如何将理论知识应用到实践中。

    cocos2d-x 3.x游戏开发实战肖文吉光盘源代码

    2. **场景和层的概念**:Cocos2d-x中的Scene和Layer是构建游戏画面的基本元素,学会如何创建和管理它们,以及如何在它们之间进行切换。 3. **精灵和动画**:Cocos2d-x提供了Sprite类来表示游戏中的静态或动态图像,...

    Cocos2d-X 3.2 API 文档

    16. **扩展与插件**:Cocos2d-X拥有丰富的第三方扩展和插件,可以增强游戏功能,例如广告集成、社交分享等。 通过阅读和实践Cocos2d-X 3.2的API文档,开发者可以熟练掌握这个强大的游戏开发框架,从而创建出各种...

    COCOS2d-X by Example Beginner-'s Guide

    - **基本概念**:讲解Cocos2d-x中的关键概念,例如场景(Scene)、层(Layer)、精灵(Sprite)等。 - **游戏对象操作**:教授如何创建和操作游戏中的物体,如移动、旋转和缩放。 - **动画与特效**:演示如何实现基本的...

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

    这本书详细介绍了Cocos2d-x框架的基础知识和实战技巧,旨在帮助开发者快速掌握使用Cocos2d-x进行游戏开发的基本技能。Cocos2d-x是一个跨平台的开源游戏引擎,广泛应用于iOS、Android以及多个桌面操作系统,以其高效...

    Cocos2d-x之Lua核心编程 配套代码

    1. **Lua与Cocos2d-x的集成**:Cocos2d-x提供了Lua绑定,使得开发者可以使用Lua脚本来控制游戏逻辑和场景管理。通过lua-bindings或者tolua++,C++对象可以被映射到Lua,反之亦然,实现C++与Lua之间的无缝交互。 2. ...

    cocos2d-x高仿捕鱼达人实例分析(四)

    在Cocos2d-x中,Layer是场景(Scene)的基础组成部分,用于承载游戏的各种元素。GameLayer是专门为这个游戏设计的一个自定义Layer,它负责管理游戏的主要逻辑,比如玩家操作、物体碰撞检测、得分计算等。 在游戏...

    第02章 Cocos2d-x基础.zip

    本章将深入探讨Cocos2d-x的基础知识,通过提供的样例代码(Sample2_1至Sample2_5.zip)来学习和理解其核心概念和功能。 1. **安装与环境配置** 在开始Cocos2d-x开发之前,你需要先下载并安装Cocos2d-x SDK,这通常...

    Cocos2d-x高级开发教程-网页版

    下面我们将详细探讨Cocos2d-x的多个关键知识点。 首先,Cocos2d-x是基于C++的,但同时支持Lua和JavaScript作为脚本语言。这使得开发者可以根据项目需求选择合适的编程语言。在高级开发中,理解如何有效地利用这些...

    口袋仙侠cocos2d-x游戏源码

    Cocos2d-x支持多种编程语言,包括C++、Lua和JavaScript,其中C++是其基础语言,提供了强大的性能和灵活性。它的绘图系统基于OpenGL ES,能高效地绘制2D图形,包括精灵、纹理、位图字体等。此外,Cocos2d-x还提供了...

    cocos2d-x_学习文档

    在cocos2d-x的学习过程中,首先我们需要...在深入学习cocos2d-x的过程中,你需要掌握场景和层的概念,理解设备方向的处理,熟悉动作和事件系统,以及有效地管理和使用游戏资源,这些都是构建游戏基础架构的关键知识点。

    基于cocos2d-x的连连看游戏源码

    此外,对于初学者来说,这是一个很好的实践项目,能够帮助他们巩固cocos2d-x的基础知识,提升实际开发能力。 总之,掌握cocos2d-x并能独立开发一款连连看游戏,不仅意味着你具备了基本的游戏开发技能,更意味着你...

Global site tag (gtag.js) - Google Analytics