我们要怎样切入游戏场景呢?其实就会要用到CCScene场景切换的知识,然后场景的切换效果,也即是场景的一种过渡效果...
Cocos2d-x
提供了很多场景间切换的效果,可以方便大家使用
过渡类:
- //用CCTransition绕y轴翻转x轴过渡到FilipXpScene
- CCDirector::sharedDirector()->replaceScene( CCTransitionFlipX::create(2, pScene) );
- CCTransitionFlipX::create("过渡时间", 目的场景) //翻转效果(y轴翻转x轴)
- CCTransitionSlideInT::create(“过渡时间”, 目的场景) //抽屉效果(从下到上)
- CCTransitionSlideInB:底边界滑入
- CCTransitionSlideInL:左边界滑入
- CCTransitionSlideInR:右边界滑入
- CCTransitionFade::create(“过渡时间”, 目的场景, RGB值) //浅入浅出
- CCTransitionFadeTR://褪色辉光(从左下到右上)
- CCTransitionFadeBL:://褪色辉光(从左上到右下)
- CCTransitionCrossFade://交叉褪色
- CCTransitionJumpZoom://缩小跳
- CCTransitionMoveInL://左移动传入
- CCTransitionMoveInR://右移动传入
- CCTransitionPageTurn://左翻页backwards:false 翻过去,ture翻过来
- CCTransitionRadialCCW:钟摆效果
- CCTransitionRotoZoom:平面旋转
- CCTransitionSceneOriented:一种支持指定方向的变幻类(LeftOver, RightOver, UpOver, DownOver)
- CCTransitionShrinkGrow:收缩离替扩大
- CCTransitionSplitCols:拆分3,1\3下,2上移开
- CCTransitionTurnOffTiles:关闭传出现场随机顺序
复制代码
运行场景:
- CCScene *pScene = HelloWorld::scene();
- pDirector->runWithScene(pScene);
复制代码
替换场景:
- CCScene *pScene=SceneTestScene::scene();
- CCDirector::sharedDirector()->replaceScene(pScene);
复制代码
正常的无过渡场景的如果尚未建立场景(即游戏中的第一个场景),就是用pDirector->runWithScene(pScene);即可以使用相应场景,如果是替换场景,则使用CCDirector::sharedDirector()->replaceScene(this);替换相应的场景即可。
而如果要使用场景间的切换效果来切换场景,则需要使用相应的切换方法即transitionWithDuration(当然不同效果的使用方法略有不同)生成相应场景,然后再通过CCDirector::sharedDirector()->replaceScene(this)来启动场景,也就是说这个给这个场景加了一个外包装,然后再启动,那么,这个场景就不是直接显示了,而是在场景的效果使用完了以后进入场景,起到过渡的效果。
转载地址:http://bbs.9ria.com/thread-249194-1-1.html