展会信息港展会大全

Cocos2d 场景切换特效
来源:互联网   发布日期:2015-09-28 10:37:12   浏览:2183次  

导读:添加一个场景WelcomeScene [cpp] view plaincopy #include WelcomeScene.h #include GameScene.h using namespace cocos2d; CCScene* WelcomeScene::scene() { CCScene * scene = NULL; do { scene=CCScene::create(); WelcomeScene* gameScene=WelcomeScene...

添加一个场景WelcomeScene

[cpp] view

plaincopy

#include "WelcomeScene.h"

#include "GameScene.h"

using namespace cocos2d;

CCScene* WelcomeScene::scene()

{

CCScene * scene = NULL;

do

{

scene=CCScene::create();

WelcomeScene* gameScene=WelcomeScene::create();

scene->addChild(gameScene);

}while(0);

return scene;

}

bool WelcomeScene::init()

{

this->setTouchEnabled(true);

bool bRet = false;

do

{

CCSprite* pMap = CCSprite::create("welcome_bg.png");

CCSize size = CCDirector::sharedDirector()->getWinSize();

pMap->setPosition(ccp(size.width/2, size.height/2));

this->addChild(pMap, 0);

CCMenuItemImage *pCloseItem = CCMenuItemImage::create(

"StartGameNormal.png",

"StartGamePressed.png",

this,

menu_selector(WelcomeScene::menuStartCallback));

CCMenu* pMenu = CCMenu::create(pCloseItem, NULL);

pMenu->setPosition(size.width/2,size.height/2);

this->addChild(pMenu, 1);

}while(0);

bRet=true;

return bRet;

}

void WelcomeScene::menuStartCallback(CCObject* pSender)

{

CCScene * scene=GameScene::scene();

CCDirector::sharedDirector()->replaceScene(scene);

}

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

使用特效:

[cpp] view

plaincopy

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()

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);//按列切

赞助本站

人工智能实验室
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港