Problème avec pygame
Résolu/Fermé
leblogueur
-
25 août 2020 à 14:31
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 26 août 2020 à 15:48
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 26 août 2020 à 15:48
A voir également:
- Video system not initialized pygame
- Montage video windows - Guide
- Comment télécharger une vidéo youtube - Guide
- Reboot system now - Guide
- Script vidéo youtube - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
9 réponses
quent217
Messages postés
421
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2024
347
25 août 2020 à 15:33
25 août 2020 à 15:33
Bonjour,
pouvez-vous nous donner l'erreur que vous obtenez ?
pouvez-vous nous donner l'erreur que vous obtenez ?
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 25 août 2020 à 16:07
Modifié le 25 août 2020 à 16:07
Bonjour,
effectivement cette ligne devrait être alignée sur la précédente, or elle est encore décalée d'une indentation !
effectivement cette ligne devrait être alignée sur la précédente, or elle est encore décalée d'une indentation !
merci mais maintenant j'ai une autre erreur:
for event in pygame.event.get()
^
IndentationError: unindent does not match any outer indentation level
for event in pygame.event.get()
^
IndentationError: unindent does not match any outer indentation level
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
quent217
Messages postés
421
Date d'inscription
vendredi 25 septembre 2015
Statut
Membre
Dernière intervention
1 mars 2024
347
25 août 2020 à 17:16
25 août 2020 à 17:16
Vous avez cette erreur parce qu'il n'y a que 3 espaces devant cette ligne alors qu'il y en a 4 pour les lignes précédentes. Vous devriez avoir des problèmes similaires avec les lignes suivantes.
Les indentations ont une signification particulièrement importante en python donc faites bien attention à ne pas indenter n'importe comment.
Les indentations ont une signification particulièrement importante en python donc faites bien attention à ne pas indenter n'importe comment.
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
25 août 2020 à 17:22
25 août 2020 à 17:22
Contrôle un peu ce que tu fait au niveau des indentations !
Elles sont toutes de 4 espaces sauf devant cette ligne où il n'y en n'a que 3
Je ne sais pas quel éditeur de texte tu utilises, mais moi, lorsque j'indente une ligne et que
je passe a la ligne suivante avec ma touche entrée, l'indentation se reproduit automatiquement
le curseur s'aligne exactement avec la ligne que je viens d'écrire
(on se demande pourquoi tu mets toutes ces lignes vides entre 2 instructions, d'ailleurs)
Elles sont toutes de 4 espaces sauf devant cette ligne où il n'y en n'a que 3
Je ne sais pas quel éditeur de texte tu utilises, mais moi, lorsque j'indente une ligne et que
je passe a la ligne suivante avec ma touche entrée, l'indentation se reproduit automatiquement
le curseur s'aligne exactement avec la ligne que je viens d'écrire
(on se demande pourquoi tu mets toutes ces lignes vides entre 2 instructions, d'ailleurs)
j'ai re-de nouveau une erreur sur mon programe que je ne comprend pas
moncode:
premier dossier qui s'appel main.py
deuxième dossier qui s'appele game.py
troisieme partit qui s'appèlent player.py
mon message d'erreur:
moncode:
premier dossier qui s'appel main.py
import pygame import pygame as pygame from game import Game pygame.init() pygame.display.set_caption("Comet fall Game") screen = pygame.display.set_mode((1080, 720)) background = pygame.image.load('assets/bg.jpg') game = Game() player = Player() running = True while running: screen.blit(background, (0, -200)) screen.blit(game.player.image, game.player.rect) pygame.display.flip() for event in pygame.event.get(): if event.type == pygame.QUIT: running = False pygame.quit() print("Fermeture du jeu")
deuxième dossier qui s'appele game.py
import pygame from player import Player class Game: def __init__(self): self.player = Player()
troisieme partit qui s'appèlent player.py
import pygame class Player(pygame.sprite.Sprite): def __init__(self): super().__init__() self.health = 100 self.max_health = 100 self.attack = 10 self.velocity = 5 self.image = pygame.image.load('assets/player.png') self.rect = self.image.get_rect() self.rect.x = 400 self.rect.y = 500
mon message d'erreur:
player = Player() NameError: name 'Player' is not defined
Phil_1857
Messages postés
1872
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
28 février 2024
168
Modifié le 26 août 2020 à 15:49
Modifié le 26 août 2020 à 15:49
Tu parles de 'dossiers', mais ce sont des fichiers Python
Dans main.py, la classe Player est inconnue
Il faut plutôt écrire au début de main.py :
pour ne pas importer que la classe Game qui est dans game.py, mais aussi prendre en compte
qui y est écrit, et là, ca fonctionne ...
Dans main.py, la classe Player est inconnue
Il faut plutôt écrire au début de main.py :
from game import *
pour ne pas importer que la classe Game qui est dans game.py, mais aussi prendre en compte
from player import Player
qui y est écrit, et là, ca fonctionne ...