Wenn eine Sprite-Kollesion zwischen dem kugel-sprite und dem zombie-sprite stattfindet, soll der zombie nicht einfach gekillet werden, sonder seine bewegung unterbrochen und das zombie-bild mit einem blutfleck ersetzt werden.
Beide Sprites sind als Gruppe definiert und ich nutze den Befehl "pygame.sprite.groupcollide(shots, zombies, 1, 0)".
Wenn ich den zombie in in der funktion kille, wird verschwindet der getroffene, wenn in aber nicht kille und die bewegung und das bild änderen will, wird ein zufälliger zombie gestoppt und dessem bild ersetzt.
Code: Alles auswählen
class zombie(pygame.sprite.Sprite):
def __init__(self, spawn_punkt):
pygame.sprite.Sprite.__init__(self)
self.image=pygame.image.load("zombie.png").convert_alpha()
self.rect = self.image.get_rect()
self.rect.topleft = spawn_punkt
self.move= True
def update(self):
if pygame.sprite.groupcollide(shots, zombies, 1, 0):
self.move=False
self.image=pygame.image.load("tot3.png").convert_alpha()
if self.move:
self.rect.move_ip((0, 2))
else:
self.rect.move_ip((0, 0))
if self.rect.bottom == 550:
self.kill()
global leben
leben=leben-5
Würde mich über Vorschläge freuen
