私は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ループによって更新する方法はありますか?私は何日も試しましたが、良い解決策を見つけることができませんでした。どんなアイデアでも大歓迎です。ありがとう