I am creating a game in pygame, and am trying to make a death animation for when the enemy dies. My code for the animation is as following:
if enemy_health <= 0:
Number += 1
if Number >= 1 and Number < 2:
enemy_image = pygame.image.load('image\\1.png').convert_alpha()
if Number >= 2 and Number < 3:
enemy_image = pygame.image.load('image\\2.png').convert_alpha()
if Number >= 3 and Number < 4:
enemy_image == pygame.image.load('image\\3.png').convert_alpha()
if Number >= 4 and Number < 5:
enemy_image == pygame.image.load('image\\4.png').convert_alpha()
if Number >= 5 and Number < 6:
enemy_image == pygame.image.load('image\\5.png').convert_alpha()
if Number >= 6 and Number < 7:
enemy_image == pygame.image.load('image\\6.png').convert_alpha()
if Number >= 7 and Number < 8:
enemy_image == pygame.image.load('image\\7.png').convert_alpha()
if Number >= 8 and number < 9:
enemy_image == pygame.image.load('image\\8.png').convert_alpha()
Number = 0
What this should be doing is making it so when the enemy health is less than or equal to zero, the animation will play. I don't know why. I tried to do print(Number)
, and all I got was that Number
was equal to 0. I tried to change what Number
started as -- I changed it to 5 --, and then, when I used the printing method, it said that Number
is equal to 5. In general, Number
is equal to what it started as, even though it should be changing.
I don't get an actual error, but what happens is that the UFO (enemy) image just switches to the first frame, but it never goes further than that.
Here is some more code for reference:
Setting enemy_image
:
enemy_image = pygame.image.load('file').convert_alpha()
Blitting enemy_image
onto the window:
window.blit(enemy_image, (enemy.topleft[0] - 20, enemy.topleft[1]))
Enemy rect:
enemy = pygame.draw.rect(window, black, (shooting_x, shooting_y, 100, 75))