Bonjour a toutes et a tous ,
J'ai des soucis de collision avec cette image qui est plus ou moins transparente . Lorsque la collision se produit entre le laser ennemi (se déplace de droite a gauche) et cette image , le laser est censé être supprimé , parfois il passe a travers parfois il est stoppé . Je ne vois pas comment faire pour qu'il soit éliminé a chaque contact .
Voici l'image du Sprite 'héro' qui laisse plus ou moins visible le fond bleu étoilé ( qui défile de droite a gauche)
Voici le début de la classe de cette image :
[CODE]class spaceship():
def __init__(self):
self.image = pygame.image.load('spaceship0.png').convert_alpha()
self.spaceship_mask = pygame.mask.from_surface(self.image)/CODE]
puis dans la gestion de la collision :
[CODE] for laser in enemylasers: # gestion de la collision des lasers de enemylasers vers le vaisseau héro
offset_x = battleship.rect.x - laser.rect.x
offset_y = battleship.rect.y - laser.rect.y
if laser.laser_mask.overlap(battleship.spaceship_mask, (offset_x, offset_y)):
enemylasers.pop(enemylasers.index(laser))
if no_protection:
offset = shake()
battleship.hit()/CODE]
Partager