2014-05-18 123 views
0

我有一个小问题。 我正在用pygame写一个Python程序,我有一个用键盘的键移动的球员(右,左,跳......)。但是,我想在我的播放器“走路”时创建一个动画,因为我有6个图像(PNG)来做到这一点,但我无法做到。 这是我的计划:pygame中的雪碧动画

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,没有成功。 谢谢。

+0

请提供您的问题的一个自包含编译的例子。 –

回答

0

为玩家指定clock.tick()的值以在行走图像之间交替。

例如如果你有两个“走图片”,你可以使用函数:

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

...

clock.tick(20) 
i += 1 

if i % 5 == 0: 
    changeIMG(currentIMG)