pygame中的精灵动画

时间:2014-05-18 17:14:34

标签: python animation pygame sprite

我有点问题。 我正在使用Pygame用Python编写一个程序,我有一个用键盘键移动的玩家(右,左,跳......)。但是,我想在我的播放器“走路”时制作一个动画,因为我有6个图像(PNG)来做这个,但我不能这样做。 这是我的计划:

self.image = pygame.image.load(image_perso_droite).convert_alpha()

frame_1 = pygame.image.load("images/GIF/course_6.png").convert_alpha()

frame_2 = pygame.image.load("images/GIF/course_5.png").convert_alpha()

frame_3 = pygame.image.load("images/GIF/course_4.png").convert_alpha()

frame_4 = pygame.image.load("images/GIF/course_3.png").convert_alpha()

frame_5 = pygame.image.load("images/GIF/course_2.png").convert_alpha()

frame_6 = pygame.image.load("images/GIF/course_1.png").convert_alpha()
self.frame_set = [frame_1, frame_2, frame_3, frame_4, frame_5, frame_6]
self.current_frame = 0
self.timer = time.clock()

self.image = self.frame_set[self.current_frame]

if droite:

    self.xvel = 8
    if time.clock() >= self.timer + .05 and self.onGround:
        self.current_frame = 1
        self.image = self.frame_set[self.current_frame]

我也尝试使用pyganim,没有成功。 谢谢。

1 个答案:

答案 0 :(得分:0)

为玩家分配clock.tick()的值,以便在步行图像之间切换。

e.g。如果您有两个“步行图像”,则可以使用以下功能:

def changeIMG(img):
    if img = IMG1:
        img = IMG2
    else:
        img = IMG1

...

clock.tick(20)
i += 1

if i % 5 == 0:
    changeIMG(currentIMG)
相关问题