@roxanne.hauck
В Pygame вы можете создать кнопку, используя модуль pygame.draw.rect() для создания прямоугольника и модуль pygame.font.Font() для добавления текста на кнопку. Зате
@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() - для создания шрифта текста на кнопке. Позиция кнопки обновляется каждую итерацию цикла, а действие при нажатии на кнопку осуществляется в блоке кода, где проверяется состояние кнопки мыши.
Вы можете изменить размер окна, цвета и текст кнопки, а также добавить свою логику обработки действий при нажатии на кнопку, в соответствии с вашими потребностями.