Bonjour, voila quelques jours que je me suis remis à faire du pygame, et pour me rafraîchir la mémoire, j'ai décidé de suivre un tuto pour faire un jeu. Seulement, je le code à ma sauce, et par conséquent j'obtiens des erreurs différentes à celles du tuto(dont je vous met le lien ici:https://youtu.be/8J8wWxbAdFg).
Pour faire bref voici mon code:
import pygame
from pygame import *
from player import *
pygame.init()
#notre fenêtre
screen = pygame.display.set_mode((1080, 720))
titre = pygame.display.set_caption("Mon_Jeu")
backg = pygame.image.load("bg.jpg")
#mon perso et mon game
game = Game()
#projectiles
#variables
boucle = True
#boucle infinie
pygame.key.set_repeat(1, 20)
while boucle:
screen.blit(backg, (0,-200))
screen.blit(game.perso.image, game.perso.rect)
for event in pygame.event.get():
if event.type == QUIT:
boucle = False
if event.type == KEYDOWN:
if event.key == K_RIGHT and game.perso.rect.x <880:
game.perso.droite()
if event.key == K_LEFT and game.perso.rect.x >0:
game.perso.gauche()
if event.key == K_SPACE:
game.perso.lancer()
pygame.display.flip()
pygame.quit()
quand je lance le script puis que j'appuie sur la barre d'espace, voici l'erreur qui s'affiche :
Traceback (most recent call last): File "C:\Users\paulb\OneDrive\Bureau\Python\mon_jeu.py", line 36, in <module> game.perso.lancer() File "C:\Users\paulb\OneDrive\Bureau\Python\player.py", line 20, in lancer self.all_projectiles.add(Projectile()) File "C:\Users\paulb\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pygame\sprite.py", line 361, in add sprite.add_internal(self) File "C:\Users\paulb\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pygame\sprite.py", line 163, in add_internal self.__g[group] = 0 AttributeError: 'Projectile' object has no attribute '_Sprite__g'
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard) La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)
AttributeError
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Tu as oublié d'initialiser la classe Sprite.
Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)