Definitely do not use pygame.time.wait.
You do have 3 other options.
- Use pygame.time.get_ticks()
- Use delta. delta = clock.tick(fps)
- Use pygame.time.set_timer(eventid, millisecond, once)
Example get ticks
class Timer:
def __init__(self, ticks, interval, callback):
self.tick = ticks + interval
self.interval = interval
self.callback = callback
def update(self, ticks):
if ticks > self.tick:
self.tick += self.interval
self.callback(self)
Example delta countdown.
class DeltaTimer:
def __init__(self, milliseconds, callback):
self.milliseconds = milliseconds
self.countdown = milliseconds
self.callback = callback
def update(self, delta):
self.countdown -= delta
if self.countdown <= 0:
self.countdown += self.milliseconds
self.callback(self)
Example pygame Timer. Limited to 31.
pause_timer = pygame.USEREVENT + 1
# Just call this after your move.
pygame.time.set_timer(pause_timer, milliseconds, True)
# Event loop
for event in pygame.event.get():
if event.type == pause_timer:
# computer move
99 percent of computer problems exists between chair and keyboard.