void BScene::showPauseMenu() { //pause game and input Director::getInstance()->pause(); playerLayer->stopMovement(); keyHandler->disableByReceiver(playerLayer); Size windowSize = Director::getInstance()->getWinSize(); overlay = new OverLayer(); //create menu Menu* pMenu = Menu::create(); //create menu items const Point origin = Director::getInstance()->getVisibleOrigin(); MenuItemLabel* title; MenuItemLabel* exitGame; MenuItemLabel* levelSelect; MenuItemLabel* resume; //set up Main menu item resume = MenuItemLabel::create(LabelTTF::create("Resume", "Arial", 20), BScene::resumeCB); resume->setPosition(0,0); pMenu->addChild(resume); //set up Snake Mode item levelSelect = MenuItemLabel::create(LabelTTF::create("Level Select", "Arial", 20), BScene::levelSelectCB); levelSelect->setPosition(0, resume->getPosition().y + resume->getContentSize().height+10); pMenu->addChild(levelSelect); //set up Standard Mode item exitGame = MenuItemLabel::create(LabelTTF::create("Exit Game", "Arial", 20), BScene::exitGameCB); exitGame->setPosition(0, levelSelect->getPosition().y + levelSelect->getContentSize().height+10); pMenu->addChild(exitGame); //set up Title item title = MenuItemLabel::create(LabelTTF::create("Pause Menu", "Arial", 30)); title->setPosition(0, exitGame->getPosition().y + exitGame->getContentSize().height+20); pMenu->addChild(title); //center the menu float heightofitems = exitGame->getBoundingBox().getMaxY() - resume->getBoundingBox().getMinY(); pMenu->setPosition(origin.x + windowSize.width/2, origin.y + windowSize.height/2 - heightofitems/2); overlay->initWithColorMenu( Color4B(0,0,0,150), pMenu); addChild(overlay,4); layerFocus = 1; overlay->release(); }