【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 );
}
通过这次例子学到了很多有关场景、布景层、精灵、菜单、标签、场景切换动画等很多知识。