Ответ в теме: Различные окна в проекте игры.

SFML и C++ Уроки \ Разработка игр Форумы SFML Graphics Различные окна в проекте игры. Ответ в теме: Различные окна в проекте игры.

#734
+1
MicroSDA
MicroSDA
Участник
Сообщений:64

Зарегистрирован:
24.04.2015

Репутация:22

Создай класс Гейм меню. В нем реализуй меню. Создай индекс выбора относительно которого ты и будешь запускать те или иные вещи. В общем цикле спрашивай с каким индексом ты вышел из класса меню и грузи то что тебе нужно . При нажатии Esc заходи опят в класс и там выбирай то что тебе надо. Рисуй меню внутри класса пусть он принимает силку на хендл окна &window. Пусть твой главный метод  в классе меню выгляди так.

private:
sf::Image image;
sf::Texture texture;
sf::Sprite sprite;
int index = 0;
итд…

public:
int MenuUpdate(RenderWIndow &window)
{
while (window.isOpen)
{

if (Keyboard::isKeyPressed(Keyboard::Up){index –; while (keyboard::isKeyPressed(Keyboard::Up){//Для паузы! можешь по своему это реализовать.//Цикл пустой.}}
if (Keyboard::isKeyPressed(Keyboard::Down){index ++;while (keyboard::isKeyPressed(Keyboard::Up){//Для паузы! можешь по своему это реализовать.//Цикл пустой.}}
if (index < 0){ index = 0;}
if (index > MaxElementMenu///Максимальное количество пунктов меню ){index = MaxElementMenu;}

if(index == чему тебя надо)
//Тут рисуй свое меню относительно индекса// я к примеру крашу элементы меню в разный цвет. К примеру выбранное в красный а все остальное в белый.

if(Keyboard::isKeyPressed(Keyboard::Return){return index;//выходим с нужным индексом }

//И как вышли уже на основе индекса делаем то что надо. То ли заходим в новое меню то ли чтонить ещё.
}

}

Надеюсь помог.