所以我在python和pygame中制作一个游戏,从顶视图(自上而下的游戏)在屏幕上行走的角色,我想出了如何让他在延迟中更改图像,这样看起来他走路这就是我的方式做到了
Sprite_animation_list = [
pygame.image.load(os.path.join('assets','sprites','pic1.png')),
pygame.image.load(os.path.join('assets','sprites','pic2.png')),
pygame.image.load(os.path.join('assets','sprites','pic3.png')),
pygame.image.load(os.path.join('assets','sprites','pic4.png')),
animation_timer = pygame.USEREVENT + 1
pygame.time.set_timer(animation_timer, 50)
current_sprite = sprite_animation_list[0]
while True:
if animation_frame == 0:
current_sprite = sprite_animation_list[0]
if animation_frame == 1:
current_sprite = sprite_animation_list[1]
if animation_frame == 2:
current_sprite = sprite_animation_list[2]
if animation_frame == 3:
current_sprite = sprite_animation_list[3]
for event in pygameevent.get():
if event.type == animation_timer:
animation_frame += 1
if animation_frame == 3:
animation_frame = 0
display.blit(current_sprite,(0,0))
这不是我在游戏中的实际代码,只是动画如何工作的一个简单示例。但即使这看起来像我一周想出来。我不相信这是最好的方式,因为计时器仍将在背景中进行,当你静止不动和精灵变化时。有没有其他方法可以更好地做到这一点,还是一个好方法?