Pygame.transform.flip方法翻转图像两次?

时间:2017-01-18 22:39:54

标签: python python-2.7 pygame

这是我使用pygame库在python中使用简单平台游戏的代码片段:

    def animate(self):
    if self.jumping and not self.onplatform:
        if self.small:
            self.image = self.jumpingimage_small
        else:
            self.image = self.jumpingimage
    elif (self.left or self.right) and not self.small:
        self.counter +=1
        if self.counter == 1:
            self.image = self.walkingimage[1]
        elif self.counter == 5:
            self.image = self.walkingimage[2]
        elif self.counter == 9:
            self.image = self.walkingimage[3]
        elif self.counter == 13:
            self.counter = 0
    elif not (self.left or self.right):
        if not self.small:
            self.image = self.normalimage
        else:
            self.image = self.smallimage
    if self.facing == "left":
            self.image = pygame.transform.flip(self.image,True,False)
            self.flipped = True

它应该做的是为我的玩家对象的精灵设置动画。它有一个用于跳跃的精灵,一个用于静止的精灵,以及3个分别命名为self.walkingimage [1],[2]和[3]的步行框架。

最后我调用了pygame方法pygame.transform.flip(),该方法应该在玩家面向左侧时翻转所有精灵(它们最初都朝向右侧)

所以我将一个图像(Pygame Surface?)分配给未更改的基本精灵列表中的self.image属性(全部面向右侧)。

对于只有一个动画帧作为跳跃和正常(静止不动)的精灵来说一切正常,但是当我在移动时尝试它时,它会在标准图像和翻转图像之间来回快速变换。这不是bliting的情况,因为我在分配并可选地翻转我的图像后这样做。

我在这里发帖是因为我不能为我的生活找到错误。我是否以错误的方式使用flip()方法?

0 个答案:

没有答案