0

この画像はPygameにあり、画面上を動き回っています。私がやりたいのは、1回おきに交互にすることです。したがって、image1.pngとして開始してからページを移動し、human1.pngとhuman2.pngを切り替えて、image1.pngに戻るようにします。これは可能ですか?

私のコードは次のとおりです。

if (human1_position.left <= 555):
    human1_position = human1_position.move(2, 0)  # move first human
    pygame.display.update()
else:
    move = STOP
screen.blit(human1, human1_position)

ありがとう

4

1 に答える 1

1

考えられる解決策は次のとおりです。

# Before main loop
human_files = ["human1.png", "human2.png"]
human_sprites = [pygame.image.load(filename).convert_alpha() for filename in human_files]
human1_index = 0

...

# During main loop
if (human1_position.left <= 555):
    human1_position = human1_position.move(2, 0)  # move first human
    human1_index = (human_index + 1) % len(human_sprites) # change sprite
else:
    move = STOP
    human1_index = 0
human1 = human_sprites[human1_index]
screen.blit(human1, human1_position)
pygame.display.update()

update()呼び出しを移動しました。すべてが描画された後、フレームごとに1回だけ発生するはずです。

于 2012-10-24T15:33:51.287 に答える