int main()
{
// Создаём окно windows
RenderWindow window;
// Параметры: размер окна установить согласно текущему разрешению экрана
// название моя игра, развернуть графическое окно на весь размер экрана
window.create(VideoMode::getDesktopMode(), L"Моя игра", Style::Fullscreen);
//отключаем видимость курсора
window.setMouseCursorVisible(false);
// получаем текущий размер экрана
float width = VideoMode::getDesktopMode().width;
float height = VideoMode::getDesktopMode().height;
// Устанавливаем фон для графического окна
// Создаём прямоугольник
RectangleShape background(Vector2f(width, height));
// Загружаем в прямоугольник текстуру с изображением menu9.jpg
Texture texture_window;
if (!texture_window.loadFromFile("image/menu9.jpg")) return 4;
background.setTexture(&texture_window);
// Устанавливаем шрифт для названия игры
Font font;
if (!font.loadFromFile("font/troika.otf")) return 5;
Text Titul;
Titul.setFont(font);
// Текст с названием игры
InitText(Titul, 480, 50, L"Апокалипсис", 150, Color(237, 147, 0), 3);
// Название пунктов меню
String name_menu[]{ L"Старт",L"Настройки", L"О игре",L"Выход"};
// Объект игровое меню
game::GameMenu mymenu(window, 950, 350, 4, name_menu, 100, 120);
// Установка цвета элементов пунктов меню
mymenu.setColorTextMenu(Color(237, 147, 0), Color::Red, Color::Black);
// выравнивание по центру пунктов меню
mymenu.AlignMenu(2);
while (window.isOpen())
{
Event event;
while (window.pollEvent(event))
{
if (event.type == Event::KeyReleased)
{
// События выбра пунктов меню
// нажати на клавиатуре стрелки вверх
if (event.key.code == Keyboard::Up) { mymenu.MoveUp(); }
// нажати на клавиатуре стрелки вниз
if (event.key.code == Keyboard::Down) { mymenu.MoveDown(); }
// нажати на клавиатуре клавиши Enter
if (event.key.code == Keyboard::Return)
{
// Переходим на выбранный пункт меню
switch (mymenu.getSelectedMenuNumber())
{
case 0:GamеStart(); break;
case 1:Options(); break;
case 2:About_Game(); break;
case 3:window.close(); break;
}
}
}
}
window.clear();
window.draw(background);
window.draw(Titul);
mymenu.draw();
window.display();
}
return 0;
}
// функция настройки текста
void InitText(Text& mtext, float xpos, float ypos, String str, int size_font,
Color menu_text_color, int bord, Color border_color)
{
mtext.setCharacterSize(size_font);
mtext.setPosition(xpos, ypos);
mtext.setString(str);
mtext.setFillColor(menu_text_color);
mtext.setOutlineThickness(bord);
mtext.setOutlineColor(border_color);
}
Комментарий недоступен
Да.