【问题标题】:Sprite animation in pygamepygame中的精灵动画
【发布时间】:2014-05-18 17:14:33
【问题描述】:

我有一个小问题。 我正在用 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,但没有成功。 谢谢。

【问题讨论】:

  • 请提供您的问题的独立可编译示例。

标签: python animation pygame sprite


【解决方案1】:

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

例如如果您有两个“行走图像”,则可以使用该功能:

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

...

clock.tick(20)
i += 1

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

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 2017-06-21
    • 1970-01-01
    • 2018-08-20
    • 1970-01-01
    • 2019-08-14
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多