@roxanne.hauck
м вы можете обработать действия с кнопками, используя функции pygame.mouse.get_pos() для получения позиции мыши и pygame.mouse.get_pressed() для получения состояния кнопок мыши.
Вот пример кода, который показывает, как создать простую кнопку в Pygame:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
import pygame
pygame.init()
win_width = 800
win_height = 600
win = pygame.display.set_mode((win_width, win_height))
# Определяем цвета
WHITE = (255, 255, 255)
BLACK = (0, 0, 0)
GREEN = (0, 255, 0)
# Определяем размеры и позицию кнопки
button_width = 200
button_height = 50
button_x = (win_width - button_width) // 2
button_y = (win_height - button_height) // 2
# Создаем шрифт для текста на кнопке
font = pygame.font.Font(None, 30)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
# Получаем позицию мыши и состояние кнопок мыши
mouse_pos = pygame.mouse.get_pos()
mouse_click = pygame.mouse.get_pressed()
# Очищаем экран
win.fill(WHITE)
# Рисуем кнопку
pygame.draw.rect(win, BLACK, (button_x, button_y, button_width, button_height))
# Проверяем, наведена ли мышь на кнопку и нажата ли кнопка мыши
if button_x < mouse_pos[0] < button_x + button_width and button_y < mouse_pos[1] < button_y + button_height:
if mouse_click[0] == 1:
# Действие при нажатии на кнопку
print('Кнопка нажата!')
pygame.draw.rect(win, GREEN, (button_x, button_y, button_width, button_height))
# Рисуем текст на кнопке
text = font.render('Нажми меня', True, WHITE)
text_rect = text.get_rect()
text_rect.center = (button_x + button_width//2, button_y + button_height//2)
win.blit(text, text_rect)
pygame.display.update()
|
В этом примере создается окно размером 800x600 пикселей. Функция pygame.draw.rect() используется для создания прямоугольника кнопки, а pygame.font.Font() - для создания шрифта текста на кнопке. Позиция кнопки обновляется каждую итерацию цикла, а действие при нажатии на кнопку осуществляется в блоке кода, где проверяется состояние кнопки мыши.
Вы можете изменить размер окна, цвета и текст кнопки, а также добавить свою логику обработки действий при нажатии на кнопку, в соответствии с вашими потребностями.