Python & Pygame: Updating all elements in a list under a loop during iteration

Posted by Unit978 on Stack Overflow See other posts from Stack Overflow or by Unit978
Published on 2012-06-23T20:26:31Z Indexed on 2012/06/23 21:16 UTC
Read the original article Hit count: 157

Filed under:
|
|
|
|

i am working on a program in Python and using Pygame. this is what the basic code looks like:

while 1:

   screen.blit(background, (0,0))
   for event in pygame.event.get():

      if event.type == QUIT:
        pygame.quit()
        sys.exit()

      if event.type == KEYDOWN and event.key == K_c:
        circle_create = True
        circle_list.append(Circle())

      if event.type == MOUSEBUTTONDOWN and circle_create == True:
        if clicks == 0:
            circle_list[i].center()
        clicks += 1


      if event.type == MOUSEMOTION and clicks == 1 and circle_create == True:
        circle_list[i].stretch()

these if statements are under the while loop not the for loop since they dont require input from the user

  if circle_create == True:
    circle_list[i].draw_circle()

  if clicks == 2:
    clicks = 0
    i += 1
    circle_create = False    

 pygame.display.update()

what i want to do is have the object's function of draw_circle() to be constantly updated by the loop so that the drawn circle is shown for all objects in the list, but since the list is iterated it updates the new object added and the objects already appended are not updated.

The program, works, it draws the circles upon user input but the update problem is the only issue i need to solve. Is there any possible way to have all elements in the list of objects being updated by the while loop? i have tried for many days and i have not been able to find a good solution. any ideas are appreciated. Thanks

© Stack Overflow or respective owner

Related posts about python

Related posts about list