【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. 高性能mysql 附录D explain执行计划详解

    EXPLAIN: extended关键字:在explain后使用extended关键字,可以显示filtered列和warning信息.在较旧的MySQL版本中,扩展信息是使用EXPLAIN EXTE ...

  2. idea 使用Tomcat 部署war 和 war exploded的区别

    war模式:将WEB工程一包的形式上传到服务器中. war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器. 解析: war 模式这种可以称为是发布模式(完整的项目),将项目打成 ...

  3. 再提供一种解决Nginx文件类型错误解析漏洞的方法

    [文章作者:张宴 本文版本:v1.2 最后修改:2010.05.24 转载请注明原文链接:http://blog.zyan.cc/nginx_0day/] 注:2010年5月23日14:00前阅读本文 ...

  4. MySQL user表初始化

    默认安装的MySQL数据库,无法远程连接. 登录MySQL之后,运行 SELECT user,host from mysql.user; 如果只有一条记录,说明是这个原因. 将下面的脚本保存成user ...

  5. 处理离散型特征和连续型特征共存的情况 归一化 论述了对离散特征进行one-hot编码的意义

    转发:https://blog.csdn.net/lujiandong1/article/details/49448051 处理离散型特征和连续型特征并存的情况,如何做归一化.参考博客进行了总结:ht ...

  6. 在神经网络中weight decay

    weight decay(权值衰减)的最终目的是防止过拟合.在损失函数中,weight decay是放在正则项(regularization)前面的一个系数,正则项一般指示模型的复杂度,所以weigh ...

  7. IE大文件断点续传

    IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头. 一. 两个必要响应头Accept-Ranges.ETag 客户端每次提交下载请求时,服务 ...

  8. javascript中继承方式及优缺点(三)

    文以<JavaScript高级程序设计>上的内容为骨架,补充了ES6 Class的相关内容,从我认为更容易理解的角度将继承这件事叙述出来,希望大家能有所收获. 1. 继承分类 先来个整体印 ...

  9. Exchanger 原理

    Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法交换数 ...

  10. python学习之路(5)

    条件判断 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断. 比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,用if语句实现: age=20 if age>=18: ...