Pygame-menu

Pygame-menu — это библиотека python-pygame для создания меню и графических интерфейсов. Он поддерживает несколько виджетов, таких как кнопки, ввод цвета, объекты часов, селекторы, рамки, изображения, метки, селекторы, таблицы, ввод текста, переключатели цвета и многое другое с множеством параметров для настройки.

Подробная документация по последней версии доступна по адресу https://pygame-menu.readthedocs.io.

Первые шаги

Создание игр с помощью pygame действительно круто, но большинство игр (или приложений) требуют настройки конечного пользователя. Создание сложных объектов GUI для отображения меню может быть болезненным. Именно поэтому pygame-menuбыл разработан.

Вот простой пример создания меню с помощью pygame-menu (код доступен в pygame_menu.examples.simple.py ):

  1. Импортируйте необходимые библиотеки
import pygame
import pygame_menu
  1. Инициализировать pygame
pygame.init()
surface = pygame.display.set_mode((600, 400))
  1. Составьте свое меню
def set_difficulty(value, difficulty):
    # Do the job here !
    pass

def start_the_game():
    # Do the job here !
    pass

menu = pygame_menu.Menu('Welcome', 400, 300,
                       theme=pygame_menu.themes.THEME_BLUE)

menu.add.text_input('Name :', default='John Doe')
menu.add.selector('Difficulty :', [('Hard', 1), ('Easy', 2)], onchange=set_difficulty)
menu.add.button('Play', start_the_game)
menu.add.button('Quit', pygame_menu.events.EXIT)
  1. Запустите свое меню
menu.mainloop(surface)

Пример

Полезная ссылка