渐变切换场景
void HelloWorld::MenuaboutCallBack(CCObject* pSender)
{
CCDirector::sharedDirector()->pushScene(CCTransitionFade::create(0.5,AboutLayer::scene()));
}
切图menu
void HelloWorld::setUpView()
{
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
this->setBackGroundImage("loading.png");
//logo
CCSprite *logo = CCSprite::create("logo.png");
logo->setAnchorPoint(ccp(0.5,1.0));
logo->setPosition(ccp(visibleSize.width/2,visibleSize.height-10));
this->addChild(logo);
//menu
CCSprite *newGameNormal = CCSprite::create("menu.png",CCRectMake(0,0,126,33));
CCSprite *newGamePressed = CCSprite::create("menu.png",CCRectMake(0,33,126,33));
CCSprite *newGameDisabled = CCSprite::create("menu.png",CCRectMake(0,66,126,33));
CCMenuItemSprite *newGame = CCMenuItemSprite::create(newGameNormal,newGamePressed,newGameDisabled);
CCSprite *optionNormal = CCSprite::create("menu.png",CCRectMake(126,0,126,33));
CCSprite *optionPressed = CCSprite::create("menu.png",CCRectMake(126,33,126,33));
CCSprite *optionDisabled = CCSprite::create("menu.png",CCRectMake(126,66,126,33));
CCMenuItemSprite *option = CCMenuItemSprite::create(optionNormal,optionPressed,optionDisabled,menu_selector(HelloWorld::MenuoptionCallBack));
CCSprite *aboutNormal = CCSprite::create("menu.png",CCRectMake(256,0,126,33));
CCSprite *aboutPressed = CCSprite::create("menu.png",CCRectMake(256,33,126,33));
CCSprite *aboutDisabled = CCSprite::create("menu.png",CCRectMake(256,66,126,33));
CCMenuItemSprite *about = CCMenuItemSprite::create(aboutNormal,aboutPressed,aboutDisabled,menu_selector(HelloWorld::MenuaboutCallBack));
CCMenu *menu = CCMenu::create(newGame,option,about,NULL);
menu->setPosition(ccp(visibleSize.width/2, visibleSize.height/2));
menu->alignItemsVerticallyWithPadding(10);
this->addChild(menu);
}
1、图片切换菜单
2、label菜单
void OptionLayer::setUpView()
{
CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();
//background
setBkIm("loading.png");
//title
CCSprite *title = CCSprite::create("menuTitle.png",CCRectMake(0.0,0.0,135.0,35.0));
title->setPosition(ccp(visibleSize.width/2,visibleSize.height-50));
this->addChild(title);
//add music toggle
CCMenuItemToggle *musicTrigger = CCMenuItemToggle::createWithTarget(this,menu_selector(OptionLayer::musicTriggerCallback),CCMenuItemFont::create("Music : 0n"),
CCMenuItemFont::create("Music : Off"),NULL);
if(CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying())
{
musicTrigger->setSelectedIndex(0);
}
else
{
musicTrigger->setSelectedIndex(1);
}
musicTrigger->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
text
//CCLabelBMFont *lb = CCLabelBMFont::create("this game is recoded by MyObject-C","arial-14.fnt");
//lb->setPosition(ccp(visibleSize.width/2,visibleSize.height/2));
//this->addChild(lb);
//back label
CCLabelTTF* backLb = CCLabelTTF::create("back", "Arial", 24);
CCMenuItemLabel *lable = CCMenuItemLabel::create(backLb,this,menu_selector(OptionLayer::menuBackCallback));
lable->setPosition(ccp(visibleSize.width - backLb->getContentSize().width/2,backLb->getContentSize().height/2));
CCMenu *menu = CCMenu::create(musicTrigger,lable,NULL);
menu->setPosition(CCPointZero);
this->addChild(menu);
}
音乐切换
void OptionLayer::musicTriggerCallback(CCObject* pSender)
{
if(CocosDenshion::SimpleAudioEngine::sharedEngine()->isBackgroundMusicPlaying())
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->stopBackgroundMusic();
CCUserDefault::sharedUserDefault()->setBoolForKey("backmusic",false);
}
else
{
CocosDenshion::SimpleAudioEngine::sharedEngine()->playBackgroundMusic("music/mainMainMusic.mp3",true);
CCUserDefault::sharedUserDefault()->setBoolForKey("backmusic",true);
}
}