Pygame window not responding after a few seconds
Call pygame.event.get()
at the beginning of the while loop.
You need to regularly make a call to one of four functions in the pygame.event
module in order for pygame to internally interact with your OS. Otherwise the OS will think your game has crashed. So make sure you call one of these:
pygame.event.get()
returns a list of all events currently in the event queue.pygame.event.poll()
returns a single event from the event queue orpygame.NOEVENT
if the queue is empty.pygame.event.wait()
returns a single event from the event queue or waits until an event can be returned.pygame.event.pump()
allows pygame to handle internal actions. Useful when you don't want to handle events from the event queue.