Python & Pygame: Aktualizacja wszystkich elementów na liście w pętli podczas iteracji
Pracuję nad programem w Pythonie i używam Pygame. Oto jak wygląda podstawowy kod:
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()
if circle_create == True:
circle_list[i].draw_circle()
if clicks == 2:
clicks = 0
i += 1
circle_create = False
pygame.display.update()
chcę, aby funkcja obiektu draw_circle () była stale aktualizowana przez pętlę, tak aby narysowane koło było pokazywane dla wszystkich obiektów na liście, ale ponieważ lista jest iterowana, aktualizuje dodany nowy obiekt i obiekty już dołączone nie są aktualizowane.
Program działa, rysuje okręgi po wprowadzeniu danych przez użytkownika, ale problem z aktualizacją jest jedynym problemem, który muszę rozwiązać. Czy jest jakiś możliwy sposób aktualizacji wszystkich elementów na liście obiektów przez pętlę while? próbowałem przez wiele dni i nie byłem w stanie znaleźć dobrego rozwiązania. wszelkie pomysły są doceniane. Dzięki