Cocos2d-x之场景切换

来源:互联网 发布:js类库 小程序 编辑:程序博客网 时间:2024/05/03 21:35

前面说过cocos2d-x把游戏划分为一个个场景,场景的调入和切换由全局导演Director来完成。

运行场景

    // create a scene. it's an autorelease object    auto scene = HelloWorld::createScene();    // run    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);


0 0