cocos2d-x学习笔记(3)场景切换

本文介绍了Cocos2d-x中实现不同场景切换的方法,包括直接调用场景和使用各种过渡效果进行切换。提供了多种过渡类的具体用法及参数说明。

Director导演类


在刚进入游戏时,必须有一个初始的场景,加载初始场景的方式为:

Director::getInstance()->runWithScene(scene);

runWithScene只在加载第一个场景时使用。


场景的切换:

Director::getInstance()->replaceScene(scene);


包含特效的切换场景:

void HelloWorld::menuCloseCallback(Ref* pSender){
Director::getInstance()->replaceScene(
TransitionSlideInT::create(3.0f,SecondScene::createScene()));
}
用TransitionSlideInT包装SecondScene类,就可以产生场景切换特效。
TransitionSlideInT也是一个场景类,这个场景又包含了子场景,通过TransitionSlideInT的create函数就可以创建具备TransitionSlideInT动画特效的场景。

create函数的参数含义如下:

float t:场景切换特效动画的播放时间。

Scene *scene:即将要显示的场景类。


(转自Cocos2d场景切换效果汇总

场景切换的两种方式


1、直接调用场景


[CCDirector sharedDirector]replaceScene:[GameLayer scene]];


2、从init函数开始执行(使用动画效果切换)


CCScene *scene = [CCScene node];


[scene addChild:[GameLayer node]];


[[CCDirector sharedDirector] replaceScene:[CCTransitionSplitRowstransitionWithDuration:1.2f scene:scene]];


缩放的形式切换场景的方法


[[CCDirector sharedDirector] replaceScene:[CCShrinkGrowTransition transitionWithDuration:1.2f scene:sc]];
 附:
CCTransitionRotoZoom//从大到小画面缩小并跳动进入


CCTransitionJumpZoom//立体从左边缩小跳动进入


CCTransitionMoveInL//从左边移动进入右边


CCTransitionMoveInR//从右边移动进入左边


CCTransitionMoveInT//从上边移动到入下边


CCTransitionMoveInB//从下边移动到入上边


CCTransitionSlideInL//从左边移动入右边


CCTransitionSlideInR//从右边移动入左边


CCTransitionSlideInT//从上边移动入下边


CCTransitionSlideInB//从下边移动入上边


CCTransitionShrinkGrow//从大到小在中间缩小进入


CCTransitionFlipX//从X轴方向立体翻转


CCTransitionFlipY//从Y轴方向立体翻转






CCTransitionFlipAngular//从右边头翻转进入


CCTransitionZoomFlipX//从X轴方向立体跳动翻转


CCTransitionZoomFlipY//从Y轴方向立体跳动翻转


CCTransitionZoomFlipAngular//从右边立体缩小翻转进入


CCTransitionFade//从中间渐变进入


CCTransitionCrossFade//从外围渐变进入


CCTransitionTurnOffTiles//从格子覆盖上层进入


CCTransitionSplitCols//竖直分三个方块切入


CCTransitionSplitRows//横向分三个方块切入


CCTransitionFadeTR//从左下角向右上角格子渐变进入


CCTransitionFadeBL//从右上角角向左下角格子渐变进入


CCTransitionFadeUp//从下向上渐变进入


CCTransitionFadeDown//从上向下渐变进入
 
使用方法:


CCScene *scene = [CCScene node];


[scene addChild:[GameLayer node]];


[[CCDirector sharedDirector] replaceScene:[CCTransitionSplitRowstransitionWithDuration:1.2f scene:scene]];




补充:(可能有重复)


CCTransitionFade, //渐隐效果


CCTransitionFadeTR, //碎片效果


CCTransitionJumpZoom, //跳动效果


CCTransitionMoveInL, //从左向右移动


CCTransitionPageTurn, //翻页效果


CCTransitionRadialCCW, //钟摆效果


CCTransitionRotoZoom,//涡轮效果


CCTransitionSceneOriented,//


CCTransitionShrinkGrow, //渐远效果


CCTransitionSlideInL, //左移


CCTransitionSplitCols,//上下移动


CCTransitionTurnOffTiles//


CCTransitionScene : CCScene 基类






CCRotoZoomTransition 旋转缩小切换


CCJumpZoomTransition 缩小后跳跃切换


CCSlideInLTransition 从左向右切换


CCSlideInRTransition 从右向左切换


CCSlideInTTransition 从上向下切换


CCSlideInBTransition 从下向上切换


CCShrinkGrowTransition 逐渐缩小切换


CCFlipXTransition 已x中间为轴平面式旋转切换


CCFlipYTransition 已y中间为轴平面式旋转切换


CCFlipAngularTransition 侧翻式旋转切换


CCZoomFlipXTransition 缩小后x为轴旋转切换


CCZoomFlipYTransition 缩小后y为轴旋转切换


CCZoomFlipAngularTransition 缩小侧翻式旋转切换


CCFadeTransition 逐渐变暗切换


CCCrossFadeTransition 逐渐变暗切换2


CCTurnOffTilesTransition 随机方块覆盖切换


CCSplitColsTransition 三条上下分开切换


CCSplitRowsTransition 三条左右分开切换


CCFadeTRTransition 小方块大方块式切换 左下到右上 眩!


CCFadeBLTransition 小方块大方块式切换 右上到左下 眩!


CCFadeUpTransition 百叶窗从下向上


CCFadeDownTransition 百叶窗从上向下






CCTransitionRotoZoom : CCTransitionScene 旋转进入


CCTransitionJumpZoom : CCTransitionScene 跳动进入


CCTransitionMoveInL : CCTransitionScene 从左侧进入


CCTransitionMoveInR : CCTransitionMoveInL 从右侧进入


CCTransitionMoveInT : CCTransitionMoveInL 从顶部进入


CCTransitionMoveInB : CCTransitionMoveInL 从底部进入


CCTransitionSlideInL : CCTransitionScene 从左侧滑入


CCTransitionSlideInR : CCTransitionSlideInL 从右侧滑入


CCTransitionSlideInB : CCTransitionSlideInL 从顶部滑入


CCTransitionSlideInT : CCTransitionSlideInL 从底部滑入


CCTransitionShrinkGrow : CCTransitionScene 交替进入


CCTransitionFlipX : CCTransitionSceneOriented x轴翻入(左右)


CCTransitionFlipY : CCTransitionSceneOriented y轴翻入(上下)


CCTransitionFlipAngular : CCTransitionSceneOriented 左上右下轴翻入


CCTransitionZoomFlipX : CCTransitionSceneOriented x轴翻入放大缩小效果(左右)


CCTransitionZoomFlipY : CCTransitionSceneOriented y轴翻入放大缩小效果(上下)


CCTransitionZoomFlipAngular :CCTransitionSceneOriented 左上右下轴翻入放大缩小效果


CCTransitionFade : CCTransitionScene 变暗变亮进入


CCTransitionCrossFade : CCTransitionScene 渐变进入


CCTransitionTurnOffTiles : CCTransitionScene 小方格消失进入


CCTransitionSplitCols : CCTransitionScene 竖条切换进入


CCTransitionSplitRows : CCTransitionSplitCols 横条切换进入


CCTransitionFadeTR : CCTransitionScene 小方格右上角显示进入


CCTransitionFadeBL : CCTransitionFadeTR 小方格左下角显示进入


CCTransitionFadeUp : CCTransitionFadeTR 横条向上显示进入


CCTransitionFadeDown : CCTransitionFadeTR 横条向下显示进入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值