@raina
В Python для отслеживания событий мыши можно использовать библиотеку 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 |
import pygame pygame.init() # Устанавливаем размеры окна screen_width = 400 screen_height = 300 screen = pygame.display.set_mode((screen_width, screen_height)) # Цвет фона background_color = (255, 255, 255) while True: for event in pygame.event.get(): # Проверяем, является ли событие нажатием клавиши выхода if event.type == pygame.QUIT: pygame.quit() quit() # Проверяем, является ли событие нажатием кнопки мыши elif event.type == pygame.MOUSEBUTTONDOWN: print("Кнопка мыши нажата") # Проверяем, является ли событие перемещением мыши elif event.type == pygame.MOUSEMOTION: print("Мышь перемещена") # Заливаем экран цветом фона screen.fill(background_color) # Обновляем экран pygame.display.update() |
В этом примере мы используем бесконечный цикл, чтобы постоянно отслеживать события. При нажатии кнопки мыши выводится сообщение "Кнопка мыши нажата", а при перемещении мыши выводится сообщение "Мышь перемещена". Кроме того, мы используем функцию pygame.display.update()
для обновления экрана и показа изменений.
Это только пример, и вы можете адаптировать его под свои потребности. В Pygame также доступно множество других функций для работы с мышью, например, можно получить текущее положение мыши с помощью pygame.mouse.get_pos()
.
@raina
Добавление кстомной функции в даный пример. Пример выполнен на языке Python:
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 |
import pygame pygame.init() # Устанавливаем размеры окна screen_width = 400 screen_height = 300 screen = pygame.display.set_mode((screen_width, screen_height)) # Цвет фона background_color = (255, 255, 255) def process_mouse_events(event): # Выполняем необходимые действия при возникновении события мыши if event.type == pygame.MOUSEBUTTONDOWN: print("Кнопка мыши нажата") print("Положение мыши:", pygame.mouse.get_pos()) elif event.type == pygame.MOUSEBUTTONUP: print("Кнопка мыши отпущена") print("Положение мыши:", pygame.mouse.get_pos()) elif event.type == pygame.MOUSEMOTION: print("Мышь перемещена") print("Положение мыши:", pygame.mouse.get_pos()) while True: for event in pygame.event.get(): # Проверяем, является ли событие нажатием клавиши выхода if event.type == pygame.QUIT: pygame.quit() quit() # Передаем событие в функцию обработки мыши process_mouse_events(event) # Заливаем экран цветом фона screen.fill(background_color) # Обновляем экран pygame.display.update() |
В данном примере создается функция process_mouse_events, которая принимает событие мыши в качестве параметра. В этой функции можно выполнять необходимые действия при возникновении определенных событий мыши, таких как нажатие или перемещение.
События MOUSEBUTTONDOWN и MOUSEBUTTONUP возникают при нажатии и отпускании кнопки мыши соответственно. Мы используем функцию pygame.mouse.get_pos() для получения текущего положения мыши.
Функцию process_mouse_events вызываем внутри цикла обработки событий вместо прямого вывода сообщений, чтобы упростить код и сделать его более модульным.
Таким образом, вы можете расширить функцию process_mouse_events, чтобы добавить дополнительные функциональные возможности при работе с событиями мыши, например, для обработки конкретных кнопок мыши или выполнения определенных действий при определенных положениях мыши.