Cocos2d 场景切换特效

添加一个场景WelcomeScene

[cpp] view
plain
copy

  1. #include "WelcomeScene.h"
  2. #include "GameScene.h"
  3. using namespace cocos2d;
  4. CCScene* WelcomeScene::scene()
  5. {
  6. CCScene * scene = NULL;
  7. do
  8. {
  9. scene=CCScene::create();
  10. WelcomeScene* gameScene=WelcomeScene::create();
  11. scene->addChild(gameScene);
  12. }while(0);
  13. return scene;
  14. }
  15. bool WelcomeScene::init()
  16. {
  17. this->setTouchEnabled(true);
  18. bool bRet = false;
  19. do
  20. {
  21. CCSprite* pMap = CCSprite::create("welcome_bg.png");
  22. CCSize size = CCDirector::sharedDirector()->getWinSize();
  23. pMap->setPosition(ccp(size.width/2, size.height/2));
  24. this->addChild(pMap, 0);
  25. CCMenuItemImage *pCloseItem = CCMenuItemImage::create(
  26. "StartGameNormal.png",
  27. "StartGamePressed.png",
  28. this,
  29. menu_selector(WelcomeScene::menuStartCallback));
  30. CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);
  31. pMenu->setPosition(size.width/2,size.height/2);
  32. this->addChild(pMenu, 1);
  33. }while(0);
  34. bRet=true;
  35. return bRet;
  36. }
  37. void WelcomeScene::menuStartCallback(CCObject* pSender)
  38. {
  39. CCScene * scene=GameScene::scene();
  40. CCDirector::sharedDirector()->replaceScene(scene);
  41. }

在menuStartCallback()中通过导演来切换场景。

使用特效:

[cpp] view
plain
copy

  1. CCDirector::sharedDirector()->replaceScene((CCTransitionSlideInR::create(1, scene)));

网上找的特效:

CCTransitionJumpZoom::transitionWithDuration(t, s);//跳跃式,本场景先会缩小,然后跳跃进来

CCTransitionFade::transitionWithDuration(t, s);//淡出淡入,原场景淡出,新场景淡入

CCTransitionFade::transitionWithDuration(t, s, ccWHITE);//如果上一个的函数,带3个参数,则第三个参数就是淡出淡入的颜色

CCTransitionFlipX::transitionWithDuration(t, s, kOrientationLeftOver);//x轴左翻

CCTransitionFlipX::transitionWithDuration(t, s, kOrientationRightOver);//x轴右翻

CCTransitionFlipY::transitionWithDuration(t, s, kOrientationUpOver);//y轴上翻

CCTransitionFlipY::transitionWithDuration(t, s, kOrientationDownOver);//y轴下翻

CCTransitionFlipAngular::transitionWithDuration(t, s, kOrientationLeftOver);//有角度转的左翻

CCTransitionFlipAngular::transitionWithDuration(t, s, kOrientationRightOver);//有角度转的右翻

CCTransitionZoomFlipX::transitionWithDuration(t, s, kOrientationLeftOver);//带缩放效果x轴左翻

CCTransitionZoomFlipX::transitionWithDuration(t, s, kOrientationRightOver);//带缩放效果x轴右翻

CCTransitionZoomFlipY::transitionWithDuration(t, s, kOrientationUpOver);//带缩放效果y轴上翻

CCTransitionZoomFlipY::transitionWithDuration(t, s, kOrientationDownOver);//带缩放效果y轴下翻

CCTransitionZoomFlipAngular::transitionWithDuration(t, s, kOrientationLeftOver);//带缩放效果/有角度转的左翻

CCTransitionZoomFlipAngular::transitionWithDuration(t, s, kOrientationRightOver);//带缩放效果有角度转的右翻

CCTransitionShrinkGrow::transitionWithDuration(t, s);//交错换

CCTransitionRotoZoom::transitionWithDuration(t, s);//转角换

CCTransitionMoveInL::transitionWithDuration(t, s);//新场景从左移入覆盖

CCTransitionMoveInR::transitionWithDuration(t, s);//新场景从右移入覆盖

CCTransitionMoveInT::transitionWithDuration(t, s);//新场景从上移入覆盖

CCTransitionMoveInB::transitionWithDuration(t, s);//新场景从下移入覆盖

CCTransitionSlideInL::transitionWithDuration(t, s);//场景从左移入推出原场景

CCTransitionSlideInR::transitionWithDuration(t, s);//场景从右移入推出原场景

CCTransitionSlideInT::transitionWithDuration(t, s);//场景从上移入推出原场景

CCTransitionSlideInB::transitionWithDuration(t, s);//场景从下移入推出原场景

以下三个需要检测opengl版本是否支持CCConfiguration::sharedConfiguration()->getGlesVersion() <= GLES_VER_1_0如果为真则为不支持

CCTransitionCrossFade::transitionWithDuration(t,s);//淡出淡入交叉,同时进行

CCTransitionRadialCCW::transitionWithDuration(t,s);//顺时针切入

CCTransitionRadialCW::transitionWithDuration(t,s);//逆时针切入

以下两个需要先设置摄像机,使用CCDirector::sharedDirector()->setDepthTest(true);

CCTransitionPageTurn::transitionWithDuration(t, s, false);//翻页,前翻

CCTransitionPageTurn::transitionWithDuration(t, s, true);//翻页,后翻

CCTransitionFadeTR::transitionWithDuration(t, s);//向右上波浪

CCTransitionFadeBL::transitionWithDuration(t, s);//向左下波浪

CCTransitionFadeUp::transitionWithDuration(t, s);//向上百叶窗

CCTransitionFadeDown::transitionWithDuration(t, s);//向下百叶窗

CCTransitionTurnOffTiles::transitionWithDuration(t, s);//随机小方块

CCTransitionSplitRows::transitionWithDuration(t, s);//按行切

CCTransitionSplitCols::transitionWithDuration(t, s);//按列切

时间: 2024-10-25 16:15:01

Cocos2d 场景切换特效的相关文章

Cocos2d-X研究之3.0 场景切换特效汇总

Cocos2d-X研究之3.0 场景切换特效汇总 2014-08-05      0个评论    来源:游戏编程    收藏    我要投稿 cocos2d-x 3.0中场景切换特效比较多,而且游戏开发中也经常需要用到这些特效,来使场景切换时不至于那么干巴,遂这里汇总一下,开发中使用. 场景切换用到导演类Directory,大多数用的都是替换场景,当然也可以用出栈进栈的方式来进行场景的替换,这里以replaceScene来举例.3.0事件分发机制—触摸事件监听不明白的可以看下. 场景切换特效的应

cocos2d-x 3.x 场景切换特效大集合

        游戏开发中经常需要用到Cocos2d-x 3.x中的场景切换特效,本文中进行一下汇总.       基本使用思路如下: ? 1 2 3 auto scene=HelloWorld::createScene();//创建待切换的场景 auto transition=TransitionZoomFlipY::create(1.0f,scene);//给场景包装动画特效  Director::getInstance()->replaceScene(transition);//运用导演类

cocos2d-x 3.0 场景切换特效汇总

cocos2d-x 3.0中场景切换特效比较多,而且游戏开发中也经常需要用到这些特效,来使场景切换时不至于那么干巴,遂这里汇总一下,开发中使用. 场景切换用到导演类Directory,大多数用的都是替换场景,当然也可以用出栈进栈的方式来进行场景的替换,这里以replaceScene来举例. 场景切换特效的应用代码: auto scene=HelloWorld::createScene();//创建待切换的场景 auto transition=TransitionZoomFlipY::create

cocos2d-x 3.0 场景切换特效汇总(转)

cocos2d-x 3.0中场景切换特效比较多,而且游戏开发中也经常需要用到这些特效,来使场景切换时不至于那么干巴,遂这里汇总一下,开发中使用. 场景切换用到导演类Directory,大多数用的都是替换场景,当然也可以用出栈进栈的方式来进行场景的替换,这里以replaceScene来举例. 场景切换特效的应用代码: auto scene=HelloWorld::createScene();//创建待切换的场景 auto transition=TransitionZoomFlipY::create

cocos2d-x-3.x 场景(3)场景切换特效

听说cocos场景切换比较帅气,就在网上查了许多场景切换可以掉用的. 先说怎么弄,贴代码,在上一节所示的地方 bool HelloWorld::init(){ if (!Layer::init()) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); Sprite *la

cocos3 场景切换特效

bool HelloWorld::init() { ////////////////////////////// // 1. super init first if ( !Layer::init() ) { return false; } Size visibleSize = Director::getInstance()->getVisibleSize(); Vec2 origin = Director::getInstance()->getVisibleOrigin(); Sprite*

Cocos2d-js切换场景与切换特效

var HelloWorldLayer = cc.Layer.extend({ sprite:null, ctor:function () { ////////////////////////////// // 1. super init first this._super(); var size=cc.winSize; //旧场景 var background=new cc.Sprite(res.CloseNormal_png); background.setPosition(size.wid

cocos2d-x 场景切换

***************************************转载请注明出处:http://blog.csdn.net/lttree******************************************* 今天终于把界面交上去了,~~o(>_<)o ~~,花费了好多时间... 做个  场景切换  来庆祝一下. PS:欢迎大家一起讨论呀~,共同加油! ********************************* 本文三部分: 1.前言 2.菜单按钮执行场景切换

Qt移动应用开发(五):场景切换

上篇文章讲到了如何用QtQuick实现绚丽的粒子特效.粒子特效的出现可以说给了开发人员一个个性化界面开发的一个契机,以后可以创造出更多有趣的界面出来,并适配到Android.iOS等移动平台上,从而让你的程序变得更加有趣! 原创文章,反对未声明的引用.原博客地址:http://blog.csdn.net/gamesdev/article/details/34840415 这一次我将介绍我在实际应用开发的时候是如何实现场景的切换的.场景的切换问题是一个架构上的问题,有很多的实现方式,而Qt Qui