Загрузить файлы в «/»
This commit is contained in:
56
input_events.py
Normal file
56
input_events.py
Normal file
@@ -0,0 +1,56 @@
|
||||
|
||||
|
||||
import pygame
|
||||
|
||||
from typing import List
|
||||
|
||||
|
||||
|
||||
class InputEvents:
|
||||
|
||||
def __init__(self):
|
||||
|
||||
self.quit_requested = False
|
||||
|
||||
|
||||
|
||||
def poll_events(self) -> List[pygame.event.Event]:
|
||||
|
||||
raw_events = pygame.event.get()
|
||||
|
||||
filtered_events = []
|
||||
|
||||
|
||||
|
||||
for event in raw_events:
|
||||
|
||||
if self._handle_quit(event):
|
||||
|
||||
continue
|
||||
|
||||
filtered_events.append(event)
|
||||
|
||||
|
||||
|
||||
return filtered_events
|
||||
|
||||
|
||||
|
||||
def _handle_quit(self, event: pygame.event.Event) -> bool:
|
||||
|
||||
if event.type == pygame.QUIT:
|
||||
|
||||
self.quit_requested = True
|
||||
|
||||
return True
|
||||
|
||||
elif event.type == pygame.KEYDOWN:
|
||||
|
||||
if event.key == pygame.K_ESCAPE:
|
||||
|
||||
self.quit_requested = True
|
||||
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
Reference in New Issue
Block a user