在很多RPG游戏中大部分存在多个场景,如开始的欢迎界面、菜单界面、战斗界面、、、、、,
场景切换只需要调用CCDirector::sharedDirector()->replaceScene(s); s为新的场景,这句代码的是含意,是用新的场景s去替换掉旧的场景,但是这样的场景替换,来得太突然,给用户的感觉不太好,我们需要一种更好更自然的替换方式。
如何在这些场景切换中显得更加自然,在Cocos2d-x中封装好了这些场景切换类
CTransitionJumpZoom::create(t, s) 原场景先缩小,然后新场景跳跃进入
CTransitionProgressRadialCCW::create(t, s)
CTransitionProgressRadialCW::create(t, s)
CTransitionProgressHorizontal::create(t, s)
CTransitionProgressVertical::create(t, s)
CTransitionProgressInOut::create(t, s)
CTransitionProgressOutIn::create(t, s)
CTransitionCrossFade::create(t,s)
CCTransitionFadeTR::create(t, s)
CCTransitionFadeBL::create(t, s)
CCTransitionFadeUp::create(t, s)
CCTransitionFadeDown::create(t, s)
CCTransitionTurnOffTiles::create(t, s)
CCTransitionSplitRows::create(t, s)
CCTransitionSplitCols::create(t, s)
CCTransitionFade::create(t, s)
CCTransitionShrinkGrow::create(t, s)
CCTransitionRotoZoom::create(t, s)
CCTransitionMoveInL::create(t, s)
CCTransitionMoveInR::create(t, s)
CCTransitionMoveInT::create(t, s)
CCTransitionMoveInB::create(t, s)
CCTransitionSlideInL::create(t, s)
CCTransitionSlideInR::create(t, s)
CCTransitionSlideInT::create(t, s)
CCTransitionSlideInB::create(t, s)
第一个参数是动画的时间(flaot类型),单位是秒,第二个参数是新的场景,可以去过相应的需求选择上面的动画
CCDirector::sharedDirector()->replaceScene(CCTransitionSlideInL::create(t,s));
这样就完成了场景的动态切换
总得来说,动态的场景替换,分为三步:
1、创建一个新的场景
2、创建场景替换动画
3、替换旧的场景