Je suis en train de créer un jeu simple, j'ai essentiellement une classe zombie que j'ai placée dans un groupe pour pouvoir avoir plusieurs instances indéfiniment :
class zombie(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self,zombiegroup)
self.pos=(random.randrange(5,695),random.randrange(5,455))
self.image=zombie_image
self.rimage=self.image
self.rect=self.image.get_rect().move(self.pos)
self.speed=5
def update(self):
zx=self.rect.topleft[0]-player.rect[0]
zy=self.rect.topleft[1]-player.rect[1]
rads=math.atan2(-zy, zx)
rads %= 2*pi
angle = math.degrees(rads)
self.rimage=pygame.transform.rotate(self.image, angle-90)
size=self.rimage.get_size()
if player.rect[0]self.rect[0]:
self.rect[0]+=self.speed
if player.rect[1]self.rect[1]:
self.rect[1]+=self.speed
screen.blit(self.rimage, (self.rect.topleft[0]-size[0]/2,self.rect.topleft[1]-size[1]/2))
et mon groupe est simplement :
zombiegroup=pygame.sprite.Group()
C'est assez basique, mais j'aimerais savoir comment tester si chacun de ces zombies entre en collision les uns avec les autres, sinon, après un certain temps de poursuite, ils fusionnent tous en un seul zombie à l'écran. Je ne sais pas comment gérer le groupe pour faire cela, ou même si je devrais utiliser le groupe pygame.
Merci les gars,
Alex