You will need a loop that continuously calls methods to update, draw
and refresh the screen. At the top of the loop you could check for
events to see if you need to do anything. Basically something like:
clock = pygame.time.Clock()
while playing:
for event in pygame.event.get():
handle_event(event)
sprites.update() # update all sprites, including ambient animation
dirty = sprites.draw(screen)
pygame.display.update(dirty)
pygame.display.flip() # May not be necessary depending on display
config
clock.tick(40) # Limit to 40 fps (set this to whatever you like)
You can also be kinder to the system by inserting a short
time.sleep() in there, but I'll leave that as an exercise for the
reader ;)
-Casey
On Sep 21, 2007, at 11:19 AM, Samuel Mankins wrote:
Hi.
Is there a way to pause one function, but to keep all the others
going? I'm building a 2D RPG, and my current animation function uses
pygame.time.wait(), which is good, but means I can't have "ambient"
animations (Things that move around randomly, like plants waving in
the wind), and I can only have on going at a time. Does anyone know
a way around this?
Thanks!