Для функции blit требуется аргумент поверхности.
Вы можете использовать встроенный itertools.cycle для создания генератора, который будет циклически проходить по изображениям навсегда.
Вот некоторый непроверенный код, основанный на вашем образце:
import itertools
import pygame
pygame.init()
Window = pygame.display.set_mode((800, 600))
bg = pygame.image.load("/Users/luke.redwine/Documents/Python/PyGame/Examples/pygame lesson spaceinvaders/space.jpg")
clock = pygame.time.Clock()
animateNeutral = [pygame.image.load("/Users/luke.redwine/Documents/Python/PyGame/Space Shooter Game/Plasma T Neutral %s.png"% frame)for frame in range (1,3)]
animateFiring = [pygame.image.load("/Users/luke.redwine/Documents/Python/PyGame/Space Shooter Game/plasma T fire %s.png"% frame)for frame in range (1,7)]
neutral_animations = itertools.cycle(animateNeutral)
firing_animations = itertools.cycle(animateFiring)
neutral_dest = (50, 50)
firing_dest = (200, 50)
running = True
while running:
events = pygame.event.get()
keys = pygame.key.get_pressed()
for event in events:
if event.type==pygame.QUIT or keys[pygame.K_ESCAPE]:
pygame.quit()
Window.blit(bg, (0,0))
clock.tick(10)
Window.blit(next(neutral_animations), neutral_dest)
Window.blit(next(firing_animations), firing_dest)
pygame.quit()
В качестве альтернативы вы можете вручную отслеживать индекс текущего кадра анимации, увеличивая его с каждым кадром и сбрасывая один раз больше, чем длина списка.
РЕДАКТИРОВАТЬ: добавить места назначения в соответствии с surface.blit ()