这是我的问题,
我有两个类,MainMenuState和MainMenuUI。MainMenuState有一个MainMenuUI成员。
基本上,我想在MainMenuUI中进行所有GUI初始化。
如您所见,问题是“如何直接在我的MainMenuUI类中设置回调函数?”。朋友类能帮助我吗?
谢谢
void GameUI::MainMenuUI::initUi()
{
std::shared_ptr<GUI::Label> testLabel2(new GUI::Label);
testLabel2->setFont(m_font);
testLabel2->setText("TestLabel");
testLabel2->setFontColor(sf::Color(0, 0, 0));
testLabel2->setFontSize(16);
testLabel2->setRelativePosition(GUI::Position::RIGHT, GUI::Position::BOTTOM, -5, -5);
addComponent("label2", testLabel2);
std::shared_ptr<GUI::MainMenuPanel> mainMenu(new GUI::MainMenuPanel(font));
mainMenu->setRelativePosition(GUI::Position::MIDDLE, GUI::Position::MIDDLE);
mainMenu->open();
// Problem !---------------
/*mainMenu->setPlayButtonCallback([this]{
requestStackPop(); // This method belongs to MainMenuState's base class and is protected
requestStackPush(States::AnotherState); // This method belongs to MainMenuState's base class and is protected
});
mainMenu->setExitButtonCallback([this]{
requestStackPop(); // This method belongs to MainMenuState's base class and is protected
});*/
//--------------------
addComponent("mainMenu", mainMenu);
}
如您所见,问题是“如何直接在我的MainMenuUI类中设置回调函数?”。朋友类能帮助我吗?
谢谢