Hi guys,
I’ve added a HUD to my scene using like this:
@ //Create HUD
HudScene* hudLayer = HudScene::create();
CC_BREAK_IF(! hudLayer);
this->addChild(hudLayer,3);@
In my HUD, I’ve got a timer and a pause button.
When this pause button is pressed, my pause menu is drawn:
`void HudScene::activatePause(CCObject* pSender)
{
if (pauseMenuActive == false)
{
// Pause the game and remove the hud.
CCDirector::sharedDirector()->pause();
pauseMenuActive = true;
HudScene::removeAllChildrenWithCleanup(true);
// Draw a grey translucent box over the scene.
CCSize size = CCDirector::sharedDirector()->getWinSize();
pauseLayer = CCLayerColor::layerWithColor(ccc4(150, 150, 150, 50),size.width,size.height);
pauseLayer->setPosition(CCPointZero);
this->addChild(pauseLayer,5);
// Add pause menu buttons. If mute(game config) is == true...
CCMenuItemImage* resumeSprite = CCMenuItemImage::create("pause_resume.png","pause_resume.png",this, menu_selector(HudScene::deactivatePause));
resumeSprite->setScale(0.8f);
CCMenuItemImage* restartSprite = CCMenuItemImage::create("pause_restart.png","pause_restart.png",this, menu_selector(HudScene::deactivatePause));
restartSprite->setScale(0.8f);
CCMenuItemImage* exitSprite = CCMenuItemImage::create("pause_exit.png","pause_exit.png",this, menu_selector(HudScene::menuLevels));
exitSprite->setScale(0.8f);
//resumeSprite->setPosition(size.width/2,size.height/2);
// Add resume sprite button.
CCMenu* pauseMenu = CCMenu::create(resumeSprite, restartSprite, exitSprite, NULL);
pauseMenu->alignItemsVerticallyWithPadding(resumeSprite->getContentSize().height/2);
pauseMenu->setPosition(size.width/2,size.height/2);
this->addChild(pauseMenu, 6);
}
}`
This is the function I am trying to use to return to the level select menu, every time I press the button, the game freezes completely. I can apply other functions such as resume to make it work but i can’t make it change to another scene.
void HudScene::menuLevels(CCObject* pSender)
{
CCScene* levelMenu = LevelMenu::scene();
CCDirector::sharedDirector()->replaceScene(CCTransitionFade::transitionWithDuration(1.0f,levelMenu));
}@
Any advice would be greatly appreciated.
Dean