【3.x】

    (1)去掉 “CC”

    (2)卡牌翻转 TransitionFlip 中的样式 tOrientation

  1. //
  2. //1: kCCTransitionOrientationLeftOver (左向右翻转)
  3. //2: kCCTransitionOrientationRightOver (右向左翻转)
  4. //3: kCCTransitionOrientationUpOver (下向上翻转)
  5. //4: kCCTransitionOrientationDownOver (上向下翻转)
  6. //

        改为强枚举 TransitionScene::Orientation::

  1. //
  2. LEFT_OVER //左向右翻转
  3. RIGHT_OVER //右向左翻转
  4. UP_OVER //下向上翻转
  5. DOWN_OVER //上向下翻转
  6. //

【场景管理】

在讲场景切换CCTransitionScene之前,先来复习一下场景CCScene的管理。

游戏运行的过程中,每次只能运行一个场景,所以要切换到其他场景的话,需要对场景进行相应的管理。而对场景的管理则是由导演类CCDirector来进行操作的。

1、使用方法

  1. //
  2. //获取一个单例对象
  3. CCDirector::sharedDirector()->replaceScene(newScene);
  4. //

2、场景管理操作

  1. //
  2. void runWithScene(CCScene *pScene); //进入AppDelegate主循环运行的场景,仅在运行第一个场景时调用
  3. void pushScene(CCScene *pScene); //暂停当前场景,push到场景堆栈,运行新场景
  4. void popScene(); //从场景堆栈中pop场景,删除当前场景(不入栈)
  5. void popToRootScene(); //从场景堆栈中pop出所有场景,栈底场景替换当前场景,删除当前场景(不入栈)
  6. void replaceScene(CCScene *pScene); //场景替换,删除当前场景(不入栈)
  7. void pause(); //暂停当前场景
  8. void resume(); //恢复被暂停的当前场景
  9. void end(); //终止执行,释放运行中的场景
  10. //

【CCTransitionScene】

CCTransitionScene继承于CCScene,主要用于处理场景之间切换动画的管理。而我们主要关注的是它派生出来个各类场景切换动画效果的子类,及这些子类的使用方法。

由场景管理可知,场景切换有关的函数操作有两个:pushScenereplaceScene

故可以在使用这两个函数进行场景切换时,加入场景切换动画效果,增加游戏的美感。

1、常用的场景切换类

  1. //
  2. //慢慢淡化到另一场景
  3. CCTransitionCrossFade::create(时间,目标场景);
  4. //变暗消失后,另一场景慢慢出现
  5. CCTransitionFade::create(时间,目标场景);
  6. //翻页,true为向前翻页
  7. CCTransitionPageTurn::create(时间,目标场景,bool);
  8. //变小跳动消失后,另一场景跳动变大出现
  9. CCTransitionJumpZoom::create(时间,目标场景);
  10. //旋转变小消失后,另一场景旋转变大出现
  11. CCTransitionRotoZoom::create(时间,目标场景);
  12. //变小消失,同时另一场景变大出现
  13. CCTransitionShrinkGrow::create(时间,目标场景);
  14. //剥落场景,呈现出另一个场景
  15. CCTransitionFadeBL::create(时间,目标场景); //右上到左下方块消失
  16. CCTransitionFadeDown::create(时间,目标场景); //上到下横条消失
  17. CCTransitionFadeTR::create(时间,目标场景); //左下到右上方块消失
  18. CCTransitionFadeUp::create(时间,目标场景); //从下到上横条消失
  19. //卡牌翻转
  20. //样式(可以不写):
  21. //1: kCCTransitionOrientationLeftOver (左向右翻转)
  22. //2: kCCTransitionOrientationRightOver (右向左翻转)
  23. //3: kCCTransitionOrientationUpOver (下向上翻转)
  24. //4: kCCTransitionOrientationDownOver (上向下翻转)
  25. CCTransitionFlipAngular::create(时间,目标场景,样式12); //翻转
  26. CCTransitionFlipX::create(时间,目标场景,样式12); //X轴翻转
  27. CCTransitionFlipY::create(时间,目标场景,样式34); //Y轴翻转
  28. CCTransitionZoomFlipAngular::create(时间,目标场景,样式12); //翻转 ,区别是附带回拉效果
  29. CCTransitionZoomFlipX::create(时间,目标场景,样式12); //X轴翻转,区别是附带回拉效果
  30. CCTransitionZoomFlipY::create(时间,目标场景,样式34); //Y轴翻转,区别是附带回拉效果
  31. //卡牌(另一场景)叠放,插放在场景上面
  32. CCTransitionMoveInB::create(时间,目标场景); //整体从下面插入
  33. CCTransitionMoveInL::create(时间,目标场景); //整体从左面插入
  34. CCTransitionMoveInT::create(时间,目标场景); //整体从上面插入
  35. CCTransitionMoveInR::create(时间,目标场景); //整体从右面插入
  36. //刷墙,矩形。(另一个场景像刷墙一样刷出来)
  37. CCTransitionProgressHorizontal::create(时间,目标场景); //从左到右
  38. CCTransitionProgressVertical::create(时间,目标场景); //从上到下
  39. CCTransitionProgressInOut::create(时间,目标场景); //从中间到四周
  40. CCTransitionProgressOutIn::create(时间,目标场景); //从四周到中间
  41. //刷墙,扇形。(另一个场景像刷墙一样刷出来)
  42. CCTransitionProgre***adialCCW::create(时间,目标场景); //逆时针
  43. CCTransitionProgre***adialCW::create(时间,目标场景); //顺时针
  44. //刷墙,分成很多小块。(一小块一小块的随机刷上去)
  45. CCTransitionTurnOffTiles::create(时间,目标场景);
  46. //滑动,滑出窗口。另一场景滑入窗口
  47. CCTransitionSlideInB::create(时间,目标场景); //向上滑动
  48. CCTransitionSlideInL::create(时间,目标场景); //向右滑动
  49. CCTransitionSlideInR::create(时间,目标场景); //向左滑动
  50. CCTransitionSlideInT::create(时间,目标场景); //向下滑动
  51. //场景分裂成三块矩形,抽走消失。另一场景也成三块插入出现
  52. CCTransitionSplitCols::create(时间,目标场景); //中间块向上,左右块向下抽出
  53. CCTransitionSplitRows::create(时间,目标场景); //中间块向右,上下块向左抽出
  54. //

2、使用方法

  1. //
  2. //创建场景HelloWorld场景
  3. CCScene* scene = HelloWorld::scene();
  4. //创建场景切换方式
  5. CCTransitionScene* ts = CCTransitionJumpZoom::create(2, scene);
  6. //切换场景
  7. CCDirector::sharedDirector()->replaceScene(ts);
  8. //

cocos2dx基础篇(24) 场景切换效果CCTransitionScene的更多相关文章

  1. 8 cocos2dx加入场景切换效果,控制场景切换彻底完毕之后再运行动画

     1 加入场景切换效果 供场景切换的类: CCTransitionJumpZoom CCTransitionProgressRadialCCW CCTransitionProgressRadial ...

  2. cocos2dx基础篇(3) 常用重要类

    ---------------------------------------- 入口类main.cpp 主要控制类AppDelegate.cpp -------------------------- ...

  3. [Cocos2d-x For WP8]Transition 场景切换

    在游戏中通常会打完了一关之后就会从当前的场景转换到另外一关的场景了,在Cocos2d-x中是由CCScene类表示一个场景.那么场景(CCScene)是为游戏中的精灵(CCSprite)提供了舞台,场 ...

  4. cocos2dx进阶学习之场景切换

    背景 在学习马里奥时,我们学习到从菜单场景到游戏场景的切换,代码如下 void CMMenuScene::OnStartCallBack( CCObject *pSender ) { CCDirect ...

  5. Cocos2dx 学习笔记整理----场景切换

    据说Cocos2dx场景切换的方法有32种:cocos2dx 常见的32种切换场景的动画 无需一一求证,只需要知道切换场景需要怎么做就行了. 作为导演CCDirector,切换场景的事情当然归它管了. ...

  6. Cocos2d-x Lua中多场景切换生命周期

    在多个场景切换时候,场景的生命周期会更加复杂.这一节我们介绍一下场景切换生命周期.多个场景切换时候分为几种情况:情况1,使用pushScene函数从实现GameScene场景进入SettingScen ...

  7. 【Cocos2d-x 3.x】 场景切换生命周期、背景音乐播放和场景切换原理与源码分析

    大部分游戏里有很多个场景,场景之间需要切换,有时候切换的时候会进行背景音乐的播放和停止,因此对这块内容进行了总结. 场景切换生命周期 场景切换用到的函数: bool Setting::init() { ...

  8. 【Cocos2d入门教程二】Cocos2d-x基础篇

    上一章已经学习了环境的搭建.这一章对基础概念进行掌握.内容大概有: 1.导演 2.场景 3.节点 4.层 4.精灵 1.导演(Director) 导演存在的主要作用: a.环境设定(帧率 初始化ope ...

  9. cocos2dx基础篇(2) 第一个程序

    [本节内容] 1.程序的基本组成:CCSprite(精灵).CCLayer(层).CCScene(场景).CCDirector(导演) 2.分析HelloWorld源码. 一.基本组成 cocos2d ...

随机推荐

  1. 数组与pandas模块

    '''数组与pandas模块''' # numpy模块:用来做数据分析,对numpy数组(既有行又有列)--矩阵进行科学运算 # tensorflow/pytorch(数学专业/物理专业/计科专业硕士 ...

  2. 还不会使用MyEclipse的Breadcrumb导航功能?再不看你就OUT了

    MyEclipse CI 2019.4.0安装包下载 使用DevStyle Breadcrumb导航可以轻松地浏览工作区,只需遵循breadcrumb路径即可.DevStyle作为Eclipse插件提 ...

  3. 命令方式 搭建 (简易)Maven项目

    原料:1.配好的Maven环境变量    2.c m d命令 win  + r  输入 cmd 切换到此项目所要存在的位置 使用命令创建文件夹 切换 到 maven_demo中  输入 cd mave ...

  4. UML(Rational Rose)安装教程【载百度经验】

    ---恢复内容开始--- Win7安装rational rose2007教程 在UML建模的众多工具中,IBM公司的rational rose建模工具可以说是最好用的建模工具了.哪我们又该如何在win ...

  5. C++类模板——博客链接

    https://www.jianshu.com/p/70ca94872418 C++类模板,你看我就够了 值得学习~

  6. JavaScript 数组1—索引数组

    索引数组:下标是数字数组 ㈠什么是? 内存中连续储存多个数据的数据结构,再起一个统一的名字 ㈡为什么? ①普通的变量只能存储一个数据程序=数据结构+算法 ②算法:解决问题的步骤 ③数据结构:数据在内存 ...

  7. jquery滚动到指定位置

    利用jquery实现页面可视区滚动到指定位置.直接上代码 //滚动到指定位置 function scrollTo(element,speed) { if(!speed){ speed = 300; } ...

  8. You Are Given a Decimal String...

    B. You Are Given a Decimal String... 这个题需要求出从某一个尾数 n 变为 m 所需要的 x 和 y 的最小个数(i+j) 那么就需要预处理出一个数组来存放这个值. ...

  9. Latex生成的.pdf 公式之间隔了几行空白

    如题, 解决办法: \vspace{-1.5cm},这个数值根据需要来设置.

  10. CentOS6.5卸载自带的Mysql软件

    现想要在这家的服务器上安装Mysql集群,发现之前安装操作系统的时候顺便把MySql默认安装,所以需要将它先卸载掉. 1,查找已安装的mysql版本 [root@leader ~]# rpm -qa| ...