您的位置:首页 > 移动开发 > Cocos引擎

cocos2d-x-3.0rc1 学习笔记2( 什么标题、菜单按钮、粒子效果之类的)

2014-04-11 17:16 218 查看
这几天就是实习了场景里面个层的几个基础实现功能吧

主要就是对init()的修改

什么标题、菜单按钮、粒子效果之类的

注意菜单按钮里有些是图片的(png文件),要把文件放在本项目的resources 里面

bool HelloWorld::init()
{
//////////////////////////////
// 1. super init first
if ( !Layer::init() )
{
return false;
}

auto visibleSize = Director::getInstance()->getVisibleSize();
auto origin = Director::getInstance()->getVisibleOrigin();

//添加一个标题层
auto cocoa=LabelTTF::create("HelloMyGame", "Arial", TITLE_FONT_SIZE*2);
cocoa->setPosition(Point(visibleSize.width/2,visibleSize.height/2+cocoa->getContentSize().height));
this->addChild(cocoa,1);

//添加2个菜单按钮
auto closeIt1=MenuItemImage::create(
"CloseNormal.png",
"CloseSelected.png",
CC_CALLBACK_1(HelloWorld::menuCloseCallback2,this));
closeIt1->setPosition(Point(visibleSize.width/4,-20));
auto closeIt=MenuItemLabel::create(LabelTTF::create("NewGame", "Arial", TITLE_FONT_SIZE));
closeIt->setCallback(CC_CALLBACK_1(HelloWorld::menuCloseCallback1,this));
//  menuCloseCallback 回调函数是默认关闭的,也也可以自己写回调,实现场景切换之类的功能
auto menuu=Menu::create(closeIt1,closeIt,NULL);
menuu->alignItemsVertically();
menuu->setPosition(Point(visibleSize.width/2,100));
this->addChild(menuu,1);

//添加一个普通精灵
auto myspite=Sprite::create("bang.png");
myspite->setPosition(Point(visibleSize.width/2,visibleSize.height/2));
this->addChild(myspite);

//设置2个背景精灵
LayerColor* clo=LayerColor::create(Color4B(0,0,255,200),visibleSize.width,visibleSize.height);
//this->addChild(clo);

auto  *bian= LayerGradient::create(Color4B(250,0,0,150),Color4B(0,250,0,150));
//this->addChild(bian);
auto *mulc=LayerMultiplex::create(clo,bian,NULL);
this->addChild(mulc);
mulc->switchTo(1);

//粒子效果
auto snow=TextureCache::sharedTextureCache()->addImage("snow.png");
auto snowparticle=ParticleSnow::create();
snowparticle->setTexture(snow);
this->addChild(snowparticle);
snowparticle->setPosition(visibleSize.width/2,visibleSize.height);

auto fire=TextureCache::sharedTextureCache()->addImage("fire.png");
auto firep=ParticleFire::create();
firep->setTexture(fire);
this->addChild(firep);
firep->setPosition(visibleSize.width-10,10);

return true;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: