Noch mehr gruseliges in den `pygame_functions`, die `mousePressed()`-Funktion:
Code: Alles auswählen
def mousePressed():
pygame.event.clear()
mouseState = pygame.mouse.get_pressed()
if mouseState[0]:
return True
else:
return False
Mal von dem unnötigen ``if``/``else`` abgesehen, und dass die Pygame-Doku von der `get_pressed()`-Funktion abrät, löscht der `clear()`-Aufruf alle anstehenden Ereignisse. Man verliert also Ereignisse. Absichtlich. Das ist einfach nur kaputt. Das kann das drücken oder loslassen einer Taste sein, Mausbewegungen, Timer-Ereignisse, oder auch selbst definierte Ereignisse. Das kann man alles nicht mehr zuverlässig verwenden. Und `pygame.event.clear()` wird auch noch in ein paar anderen Funktionen in dem Modul aufgerufen.
Der Autor hat also nicht nur was gegen Python's Namenskonventionen, und Objektorientierung, sondern macht auch noch die Ereignisbehandlung kaputt, weil er offenbar den von Pygame/SDL dafür vorgesehenen Weg über eine Schleife die *alle* Ereignisse abarbeitet nicht nehmen will, und anscheinend die Konsequenzen nicht verstanden hat.