【发布时间】:2022-01-23 22:12:37
【问题描述】:
我有一个使用下面的函数左右遍历的精灵。当它向左翻转时,它会将 img 翻转 1 帧,然后在向左移动时保持指向右侧。同样的 1 帧翻转也发生在另一侧。使用单个图像效果很好,但是我添加了这个动画循环,现在我很难过。
class Enemy(pygame.sprite.Sprite):#==================================================
def __init__(self,x,y):
pygame.sprite.Sprite.__init__(self)
self.images_right = []
self.frame_index = 0
self.counter = 0
for num in range (1,8):
img_right = pygame.image.load(f'img/enemy/{num}.png')
self.images_right.append(img_right)
self.image = self.images_right[self.frame_index]
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = y
self.move_direction = 1
self.move_counter = 0
def update(self):
self.counter += 1
walk_cooldown = 2
if self.counter > walk_cooldown:
self.counter = 0
self.frame_index += 1
if self.frame_index >= len(self.images_right):
self.frame_index = 0
self.image = self.images_right[self.frame_index]
self.rect.x += self.move_direction
self.move_counter += 1
if abs(self.move_counter) > 32:
self.move_direction *= -1
self.image = pygame.transform.flip(self.image, True, False)
self.move_counter *= -1
【问题讨论】:
标签: python animation pygame sprite