Cocos2d-x 之场景切换

本文介绍了Cocos2d-x中场景的基本概念及其如何通过全局导演Director进行管理和切换。此外,还详细展示了多种场景切换特效的实现方式,包括淡入淡出、翻页等,为游戏开发提供了丰富的视觉体验。

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值