Skip to content Skip to sidebar Skip to footer

Pygame.time.set_timer() - 4 2 The Floor Click

Why doesn't this play my click.wav every 444ms? it just seems to play it at random intervals. import pygame pygame.init() size = (700, 500) screen = pygame.display.set_mode(size)

Solution 1:

Use event.type == pygame.USEREVENT + 1, otherwise the event may be generated for other reasons (whatever 1 event type corresponds to in pygame) that is why it appears random.


The output for the code shows that the time intervals are mostly 440±10 ms with the exception of 910, 7 pair.

±10 milliseconds for a timer sounds normal for fps=60. To get tighter timings, you could use clock.tick() instead of clock.tick(60).

910, 7 pair suggests that set_timer()/tick() might use a time.sleep() analog somewhere. time.sleep() may sleep more than specified that is why the timer may skip a beat. Try clock.tick_busy_loop() that shouldn't sleep and see if you can reproduce the skips.

Post a Comment for "Pygame.time.set_timer() - 4 2 The Floor Click"