Python pygame中的精灵动画
我有个小问题。 我正在用Pygame用Python编写一个程序,我有一个玩家用键盘键移动(右、左、跳跃…)。但是,我想在我的播放器“行走”时创建一个动画,因为我有6个图像(PNG)来做这件事,但我做不到。 这是我的节目:Python pygame中的精灵动画,python,animation,pygame,sprite,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()
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,但没有成功。
谢谢。为播放器指定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)