Scene
前面说过cocos2d-x把游戏划分为一个个场景,场景的调入和切换由全局导演Director来完成。
- 运行场景
auto scene = HelloWorld::createScene();
director->runWithScene(scene);
- 切换场景
auto newScene=Scene::create();
auto background=Sprite::create("background.jpg");
newScene->addChild(background);
background->setPosition(visibleSize/2);
Director::getInstance()->replaceScene(newScene);
这里直接创建一个场景,然后加载一个精灵到场景上,前面说过一般不会这么做,但并不是说不能这么多,只是一般我们都会先建一个层,以便管理,这里只是为了测试方便而已。
纯粹的切换场景显示太单调,cocos为我们提供了很多场景切换的特效,使用起来效果特别好,也特别简单,下面介绍几个常用的。
auto newScene=Scene::create();
auto background=Sprite::create("background.jpg");
newScene->addChild(background);
background->setPosition(visibleSize/2);
//参数1为特效时间(秒),参数2为要切换至的场景
//auto transition=TransitionCrossFade::create(1,newScene);//淡入淡出
//auto transition=TransitionPageTurn::create(1,newScene,false);//翻页
//auto transition=TransitionZoomFlipAngular::create(1,newScene);//翻转
//auto transition=TransitionProgressRadialCW::create(1,newScene);//圆环进度
//auto transition=TransitionProgressHorizontal::create(1,newScene);//水平进度
//auto transition=TransitionProgressVertical::create(1,newScene);//竖直进度
//auto transition=TransitionProgressInOut::create(1,newScene);//由内向外进度
//auto transition=TransitionProgressOutIn::create(1,newScene);//由外向内进度
//auto transition=TransitionFlipX::create(1,newScene);//水平翻转
//auto transition=TransitionJumpZoom::create(1,newScene);//跳出跳进
//auto transition=TransitionMoveInR::create(1,newScene);//水平移入
//auto transition=TransitionZoomFlipX::create(1,newScene);//有深度水平翻转
auto transition=TransitionRotoZoom::create(1,newScene);//旋转
Director::getInstance()->replaceScene(transition);
本文介绍了Cocos2d-x中场景的基本概念及其如何通过全局导演Director进行管理和切换。此外,还详细展示了多种场景切换特效的实现方式,包括淡入淡出、翻页等,为游戏开发提供了丰富的视觉体验。
1万+

被折叠的 条评论
为什么被折叠?



