Cocos2d-x学习笔记(五)实例——场景切换

1】首先设计场景需要许多的图片资源,往resource文件夹里添加资源文件:


2】新建Cocos2d-x工程时默认的是HelloWord场景,在此只做先显示布景层中相关精灵图片以及菜单图片的修改:


3】在刚刚的init()函数中有两个菜单回调函数,主要用于单击菜单项时切换场景:


4】接下来看看两个界面的布景,主要也是修改init()函数,登陆界面只是简单的加载一个精灵图片作为背景,注册界面上的布景通过时间调度实现了一个闪屏功能(颜色瞬变)

bool Denglu::init()里面的关键代码:

//添加标签

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

CCLabelTTF* pLabel = CCLabelTTF::create("Congratulations, login successfully!""Arial", 24);

CC_BREAK_IF(! pLabel);

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

this->addChild(pLabel, 1);

//添加精灵

CCSprite* pSprite = CCSprite::create("Success.jpg");

CC_BREAK_IF(! pSprite);

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

this->addChild(pSprite, 0);

bool Zhuce::init()里面的添加精灵、标签的代码:


bool Zhuce::init()里面的颜色布景、时间调度的代码:


NewBlend方法是Test实例里面的一个方法,直接拿来用:

void Zhuce::newBlend(float dt)

{

CCLayerColor *layer = (CCLayerColor*)getChildByTag(kTagLayer);

GLenum src;

GLenum dst;

if( layer->getBlendFunc().dst == GL_ZERO )

{

src = GL_ONE_MINUS_SRC_ALPHA;

dst = GL_RIGHT;

}

else

{

src = GL_ONE_MINUS_DST_COLOR;

dst = GL_ZERO;

}

ccBlendFunc bf = {src, dst};

layer->setBlendFunc( bf );

}

通过这次例子学到了很多有关场景、布景层、精灵、菜单、标签、场景切换动画等很多知识。

完整代码:http://download.csdn.net/detail/ll_gg_tt/5955163

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值