Библиотека pygame-menu работает для создания кнопок следующим образом: 2
- Кнопка в pygame-menu — это игровой объект с тремя состояниями: нормальное (когда мышь не находится над кнопкой), выделенное (когда мышь находится над кнопкой, но левая кнопка мыши ещё не нажата) и нажатое (когда мышь находится над кнопкой и игрок нажал на левую кнопку мыши). 1
- Кнопка реализуется как прямоугольник с фоновым цветом и текст, отображаемый поверх него. 1 Также кнопка получает функцию on_click, которая вызывается при нажатии кнопки. 1
- Кнопка обрабатывает собственные события мыши и изменяет своё внутреннее состояние на основании этих событий. 1 Когда кнопка находится в нажатом состоянии и получает событие MOUSEBUTTONUP, это означает, что игрок нажал на кнопку, и вызывается функция on_click(). 1
Библиотека pygame-menu поддерживает несколько виджетов, в том числе кнопки, с множеством вариантов настройки. 2