python - pygame.time.set_timer() - 4 2 the floor click -
why doesn't play click.wav every 444ms? seems play @ random intervals.
import pygame pygame.init() size = (700, 500) screen = pygame.display.set_mode(size) pygame.display.set_caption("444ms click") done = false clock = pygame.time.clock() noise = pygame.mixer.sound("click.wav") pygame.time.set_timer(1, 444) while not done: event in pygame.event.get(): if event.type == pygame.quit: done = true if event.type == 1: noise.play() clock.tick(60) pygame.quit()
and if knows how more good.
thank you!
@jfsebeastian: here's output the code:
447 436 443 430 449 431 448 432 910 7 407 447 442 432 446 431 448 432 450 432 446 472
use event.type == pygame.userevent + 1
, otherwise event may generated other reasons (whatever 1
event type corresponds in pygame) why appears random.
the output the code shows time intervals 440±10
ms exception of 910
, 7
pair.
±10
milliseconds timer sounds normal fps=60
. tighter timings, utilize clock.tick()
instead of clock.tick(60)
.
910
, 7
pair suggests set_timer()
/tick()
might utilize time.sleep()
analog somewhere. time.sleep()
may sleep more specified why timer may skip beat. seek clock.tick_busy_loop()
shouldn't sleep , see if can reproduce skips.
python pygame
No comments:
Post a Comment