Alors, j'utiliser cette classe dans mon jeu:pygame.sprite.Sprite.kill() ne fonctionne pas correctement. Pourquoi?
class Magazine(pygame.sprite.Sprite):
def __init__(self, image, shooter):
self.image = image
self.rect = image.get_rect()
self.rect.x = shooter.rect.x
self.rect.y = shooter.rect.y - shooter.image.get_height()
def update(self):
self.rect.y -= 5
if self.rect.y <= 0 - self.image.get_height():
self.kill()
Après avoir créé cette classe, j'ai fait un élément de cette classe. Ensuite, j'ai appelé sa fonction de mise à jour:
magazine = Magazine(magazineImage, forry)
magazine.update()
Pour une raison quelconque, je reçois cette erreur:
Traceback (most recent call last):
File "main.py", line 106, in <module>
main()
File "main.py", line 78, in main
projectileObject.update()
File "/Users/number1son100/Desktop/Famous Monsters Game/gameobjects.py", line 117, in update
self.kill()
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/pygame/sprite.py", line 174, in kill
for c in self.__g.keys():
AttributeError: 'Magazine' object has no attribute '_Sprite__g'