A helicopter is shot at. If he is hit, he falls. At the same time, a parachute releases from the helicopter. If the parachute is shot at and also hit by a bullet, the image of the parachute should be replaced with another image.
The jump with the parachute is done by the function absprung. The parachute is created with the Fallschirm class. The shelling is queried via collide.
It doesn't work, the picture is not changed.
def absprung(self): #Auslöser Fallschirm
fallschirm = Fallschirm(self.rect.centerx, self.rect.top)
alle_sprites.add(fallschirm)
fallschirme.add(fallschirm)
class Fallschirm(pygame.sprite.Sprite):
def __init__(self,x,y):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.image.load("Bilder/fallschirm.png").convert_alpha()
self.image = pygame.transform.scale(self.image,(100,150))
self.rect = self.image.get_rect()
self.rect.x = x
self.rect.y = y
self.beschuss = False
def update(self):
if self.beschuss == True:
self.image = pygame.image.load("Bilder/fadenkreuz.png").convert_alpha()
self.image = pygame.transform.scale(self.image,(100,150))
self.rect.y +=2
if self.rect.y > hoehe:
self.kill()
hits = pygame.sprite.groupcollide(fallschirme,bullets,False,True)
for hit in hits:
fallschirme.beschuss = True
pygame.display.update()or pygame.display.flip()` every frame?