我正在使用 Python 编写程序并使用 Pygame。这是基本代码的样子:
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()
我想要做的是让对象的draw_circle()函数通过循环不断更新,以便为列表中的所有对象显示绘制的圆圈,但是由于列表是迭代的,它会更新添加的新对象和对象已经附加的不更新。
该程序有效,它根据用户输入绘制圆圈,但更新问题是我需要解决的唯一问题。有没有办法让while循环更新对象列表中的所有元素?我已经尝试了很多天,但我无法找到一个好的解决方案。任何想法表示赞赏。谢谢