cocos2dx基础篇(24) 场景切换效果CCTransitionScene
【3.x】
(1)去掉 “CC”
(2)卡牌翻转 TransitionFlip 中的样式 tOrientation
//
//1: kCCTransitionOrientationLeftOver (左向右翻转)
//2: kCCTransitionOrientationRightOver (右向左翻转)
//3: kCCTransitionOrientationUpOver (下向上翻转)
//4: kCCTransitionOrientationDownOver (上向下翻转)
//
改为强枚举 TransitionScene::Orientation::
//
LEFT_OVER //左向右翻转
RIGHT_OVER //右向左翻转
UP_OVER //下向上翻转
DOWN_OVER //上向下翻转
//
【场景管理】
在讲场景切换CCTransitionScene之前,先来复习一下场景CCScene的管理。
游戏运行的过程中,每次只能运行一个场景,所以要切换到其他场景的话,需要对场景进行相应的管理。而对场景的管理则是由导演类CCDirector来进行操作的。
1、使用方法
//
//获取一个单例对象
CCDirector::sharedDirector()->replaceScene(newScene);
//
2、场景管理操作
//
void runWithScene(CCScene *pScene); //进入AppDelegate主循环运行的场景,仅在运行第一个场景时调用
void pushScene(CCScene *pScene); //暂停当前场景,push到场景堆栈,运行新场景
void popScene(); //从场景堆栈中pop场景,删除当前场景(不入栈)
void popToRootScene(); //从场景堆栈中pop出所有场景,栈底场景替换当前场景,删除当前场景(不入栈)
void replaceScene(CCScene *pScene); //场景替换,删除当前场景(不入栈)
void pause(); //暂停当前场景
void resume(); //恢复被暂停的当前场景
void end(); //终止执行,释放运行中的场景
//
【CCTransitionScene】
CCTransitionScene继承于CCScene,主要用于处理场景之间切换动画的管理。而我们主要关注的是它派生出来个各类场景切换动画效果的子类,及这些子类的使用方法。
由场景管理可知,场景切换有关的函数操作有两个:pushScene、replaceScene。
故可以在使用这两个函数进行场景切换时,加入场景切换动画效果,增加游戏的美感。
1、常用的场景切换类
//
//慢慢淡化到另一场景
CCTransitionCrossFade::create(时间,目标场景);
//变暗消失后,另一场景慢慢出现
CCTransitionFade::create(时间,目标场景);
//翻页,true为向前翻页
CCTransitionPageTurn::create(时间,目标场景,bool);
//变小跳动消失后,另一场景跳动变大出现
CCTransitionJumpZoom::create(时间,目标场景);
//旋转变小消失后,另一场景旋转变大出现
CCTransitionRotoZoom::create(时间,目标场景);
//变小消失,同时另一场景变大出现
CCTransitionShrinkGrow::create(时间,目标场景);
//剥落场景,呈现出另一个场景
CCTransitionFadeBL::create(时间,目标场景); //右上到左下方块消失
CCTransitionFadeDown::create(时间,目标场景); //上到下横条消失
CCTransitionFadeTR::create(时间,目标场景); //左下到右上方块消失
CCTransitionFadeUp::create(时间,目标场景); //从下到上横条消失
//卡牌翻转
//样式(可以不写):
//1: kCCTransitionOrientationLeftOver (左向右翻转)
//2: kCCTransitionOrientationRightOver (右向左翻转)
//3: kCCTransitionOrientationUpOver (下向上翻转)
//4: kCCTransitionOrientationDownOver (上向下翻转)
CCTransitionFlipAngular::create(时间,目标场景,样式12); //翻转
CCTransitionFlipX::create(时间,目标场景,样式12); //X轴翻转
CCTransitionFlipY::create(时间,目标场景,样式34); //Y轴翻转
CCTransitionZoomFlipAngular::create(时间,目标场景,样式12); //翻转 ,区别是附带回拉效果
CCTransitionZoomFlipX::create(时间,目标场景,样式12); //X轴翻转,区别是附带回拉效果
CCTransitionZoomFlipY::create(时间,目标场景,样式34); //Y轴翻转,区别是附带回拉效果
//卡牌(另一场景)叠放,插放在场景上面
CCTransitionMoveInB::create(时间,目标场景); //整体从下面插入
CCTransitionMoveInL::create(时间,目标场景); //整体从左面插入
CCTransitionMoveInT::create(时间,目标场景); //整体从上面插入
CCTransitionMoveInR::create(时间,目标场景); //整体从右面插入
//刷墙,矩形。(另一个场景像刷墙一样刷出来)
CCTransitionProgressHorizontal::create(时间,目标场景); //从左到右
CCTransitionProgressVertical::create(时间,目标场景); //从上到下
CCTransitionProgressInOut::create(时间,目标场景); //从中间到四周
CCTransitionProgressOutIn::create(时间,目标场景); //从四周到中间
//刷墙,扇形。(另一个场景像刷墙一样刷出来)
CCTransitionProgre***adialCCW::create(时间,目标场景); //逆时针
CCTransitionProgre***adialCW::create(时间,目标场景); //顺时针
//刷墙,分成很多小块。(一小块一小块的随机刷上去)
CCTransitionTurnOffTiles::create(时间,目标场景);
//滑动,滑出窗口。另一场景滑入窗口
CCTransitionSlideInB::create(时间,目标场景); //向上滑动
CCTransitionSlideInL::create(时间,目标场景); //向右滑动
CCTransitionSlideInR::create(时间,目标场景); //向左滑动
CCTransitionSlideInT::create(时间,目标场景); //向下滑动
//场景分裂成三块矩形,抽走消失。另一场景也成三块插入出现
CCTransitionSplitCols::create(时间,目标场景); //中间块向上,左右块向下抽出
CCTransitionSplitRows::create(时间,目标场景); //中间块向右,上下块向左抽出
//
2、使用方法
//
//创建场景HelloWorld场景
CCScene* scene = HelloWorld::scene();
//创建场景切换方式
CCTransitionScene* ts = CCTransitionJumpZoom::create(2, scene);
//切换场景
CCDirector::sharedDirector()->replaceScene(ts);
//
cocos2dx基础篇(24) 场景切换效果CCTransitionScene的更多相关文章
- 8 cocos2dx加入场景切换效果,控制场景切换彻底完毕之后再运行动画
1 加入场景切换效果 供场景切换的类: CCTransitionJumpZoom CCTransitionProgressRadialCCW CCTransitionProgressRadial ...
- cocos2dx基础篇(3) 常用重要类
---------------------------------------- 入口类main.cpp 主要控制类AppDelegate.cpp -------------------------- ...
- [Cocos2d-x For WP8]Transition 场景切换
在游戏中通常会打完了一关之后就会从当前的场景转换到另外一关的场景了,在Cocos2d-x中是由CCScene类表示一个场景.那么场景(CCScene)是为游戏中的精灵(CCSprite)提供了舞台,场 ...
- cocos2dx进阶学习之场景切换
背景 在学习马里奥时,我们学习到从菜单场景到游戏场景的切换,代码如下 void CMMenuScene::OnStartCallBack( CCObject *pSender ) { CCDirect ...
- Cocos2dx 学习笔记整理----场景切换
据说Cocos2dx场景切换的方法有32种:cocos2dx 常见的32种切换场景的动画 无需一一求证,只需要知道切换场景需要怎么做就行了. 作为导演CCDirector,切换场景的事情当然归它管了. ...
- Cocos2d-x Lua中多场景切换生命周期
在多个场景切换时候,场景的生命周期会更加复杂.这一节我们介绍一下场景切换生命周期.多个场景切换时候分为几种情况:情况1,使用pushScene函数从实现GameScene场景进入SettingScen ...
- 【Cocos2d-x 3.x】 场景切换生命周期、背景音乐播放和场景切换原理与源码分析
大部分游戏里有很多个场景,场景之间需要切换,有时候切换的时候会进行背景音乐的播放和停止,因此对这块内容进行了总结. 场景切换生命周期 场景切换用到的函数: bool Setting::init() { ...
- 【Cocos2d入门教程二】Cocos2d-x基础篇
上一章已经学习了环境的搭建.这一章对基础概念进行掌握.内容大概有: 1.导演 2.场景 3.节点 4.层 4.精灵 1.导演(Director) 导演存在的主要作用: a.环境设定(帧率 初始化ope ...
- cocos2dx基础篇(2) 第一个程序
[本节内容] 1.程序的基本组成:CCSprite(精灵).CCLayer(层).CCScene(场景).CCDirector(导演) 2.分析HelloWorld源码. 一.基本组成 cocos2d ...
随机推荐
- ftp不能复制文件
解决办法: ie->工具->internet选项->安全->自定义级别->下载->文件下载->启用
- 将TextEdit设置为密码框
属性--Properties--UseSystemPasswordChar设置为true
- qt5--QLabel标签控件
需要 #include <QLabel> label->setFrameShape(QFrame::Box); //设置边框 边框样式参看:https://www.cnblo ...
- 针对windows10 10.4号升级后VMware低版本不能使用的问题
windows在10.4号下午发布的新版补丁升级,VMware老版本不能打开,之后发现好多小伙伴都在贴吧发帖子VMware不能用,提示升级,犯愁升还是不升,老版本的安装了好几个虚拟机,换成新版不知道能 ...
- 29. ClustrixDB 分布式架构/并发控制
介绍 ClustrixDB使用多版本并发控制(MVCC)和2阶段锁(2PL)的组合来支持混合的读写工作负载.在我们的系统中,读取器享受无锁快照隔离,而写入器使用2PL来管理冲突.并发控制的组合意味着读 ...
- MessagePack Java 0.6.X 快速开始指南 - 安装
0.6.x 版本的 MessagePack 已经过期被淘汰了.如果你现在开始使用 MessagePack 话,请不要使用这个版本. 我们再这里保留 0.6.x 版本的内容主要用于参考用途. 最新的 M ...
- C++读入神器——文操快读(oj也可以用)
当某天,本蒟蒻沉迷于卡常的时候: 我-- 突然,YYKdalao说:用文操快读啊! 然后 喔-目瞪口呆 不多说,上源码: 本来用的读入方式: inline void Read( int &x ...
- POJ3233 [C - Matrix Power Series] 矩阵乘法
解题思路 题目里要求\(\sum_{i=1}^kA^i\),我们不妨再加上一个单位矩阵,求\(\sum_{i=0}^kA^i\).然后我们发现这个式子可以写成这样的形式:\(A(A(A...)+E)+ ...
- linux查看端口占用情况,python探测端口使用的小程序
Linux如何查看端口 1.lsof -i:端口号 用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000 # lsof -i:8000 COMMAND PID USER ...
- [CSP-S模拟测试]:陶陶摘苹果(线段树维护单调栈)
题目传送门(内部题116) 输入格式 第一行两个整数$n,m$,如题 第二行有$n$个整数表示$h_1-h_n(1\leqslant h_i\leqslant 10^9)$ 接下来有$m$行,每行两个 ...