@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, чтобы добавить дополнительные функциональные возможности при работе с событиями мыши, например, для обработки конкретных кнопок мыши или выполнения определенных действий при определенных положениях мыши.