void HelloWorld::showRestartMenu() { Size winSize = Director::getInstance()->getWinSize(); const char *message; if (_won) { message = "You win!"; } else { message = "You lose!"; } LabelBMFont *label = LabelBMFont::create(message, "Arial.fnt"); label->setScale(0.1f); label->setPosition(winSize.width / 2, winSize.height * 0.6f); this->addChild(label); LabelBMFont *restartLabel = LabelBMFont::create("Restart", "Arial.fnt"); MenuItemLabel *restartItem = MenuItemLabel::create(restartLabel, [](Object *sender){ Director::getInstance()->replaceScene(TransitionZoomFlipX::create(0.5f, HelloWorld::createScene())); }); restartItem->setScale(0.1f); restartItem->setPosition(winSize.width / 2, winSize.height * 0.4f); Menu *menu = Menu::createWithItem(restartItem); menu->setPosition(Point::ZERO); this->addChild(menu); restartItem->runAction(ScaleTo::create(0.5f, 1.0f)); label->runAction(ScaleTo::create(0.5f, 1.0f)); }