2014-05-18 160 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)