Gerenciando Grupos no pygame
Estou criando um jogo onde quando você mata uma multidão, mais duas aparecem. Eu tenho isso assim quando você mata uma multidão, os outros dois aparecem, mas apenas um permanece visível e se comporta como deveria. O outro apenas aparece e depois desaparece. Como posso fazer isso para que ambos se comportem como deveriam? Aqui está o que eu tenho até agora:
[Classe MOB]
class MOB(pygame.sprite.Sprite):
def __init__(self, location):
self.pos = [0,0]
self.image = ENEMY
pygame.sprite.Sprite.__init__(self)
self.rect = self.image.get_rect()
self.rect.left, self.rect.top = location
self.rect.right, self.rect.bottom = location
self.rect.center = location
self.speed = random
self.hp = 4
def update(self):
if self.hp == 0:
mobs.add(self)
self.image = ENEMY
self.pos = [0,0]
self.hp = 4
def moveH(self):
if self.rect.centerx >= Player.rect.centerx:
self.rect.left = self.rect.left - 4
elif self.rect.centerx <= Player.rect.centerx:
self.rect.left = self.rect.left + 4
def moveV(self):
if self.rect.centery <= Player.rect.centery:
self.rect.top = self.rect.top + 4
if self.rect.centery >= Player.rect.centery:
self.rect.top = self.rect.top - 4
[Adicionando e removendo no loop principal]
for Mob in mobs:
if Mob.hp == 0:
score = score + 1
Mob.kill()
new_mobs = MOB([50, 50]), MOB([60, 300])
mobs.add(*new_mobs)
[Redesenhando e movendo no loop principal]
for Mob in mobs:
Mob.moveV()
Mob.moveH()
screen.blit(Mob.image, Mob.rect)