Partage
  • Partager sur Facebook
  • Partager sur Twitter

Importer une class

Sujet résolu
11 mai 2020 à 18:40:18

Bonjour, j'essaie de commencer pygame, en fessant un petit jeu simple.

Mes deux fichiez sont dans le même dossier alors je ne comprend pas trop...

Voici le code du "main"

import pygame
from pygame.locals import *
import personnage


pygame.init()
#initalisation des constence

fenetre = pygame.display.set_mode((300, 500))

road = pygame.image.load("Sprite\Road.png").convert() # chargement de la route
voiture = player(fenetre)

def actualisation():
    global Road
    fenetre.blit(road, (0,0))
    fenetre.blit(road, (100,0))
    fenetre.blit(road, (200,0))
    voiture.actualiser()
    pygame.display.flip()
    #actualisation le fond d'ecran ainsi que le joueur


game_on = True

while game_on:
    for evenement in pygame.event.get():
        if evenement.type == QUIT:
            game_on = False
        if evenement.type == KEYDOWN:
            if evenement.key == K_LEFT:
                print("fleche gauche")
            elif evenement.key == K_RIGHT:
                print("fleche droite")

    #on actualise a chaque loop
    actualisation()

et voici la class que j'essaie d'importer 

import pygame
from pygame.locals import *

class player():
    def __init__(self,fenetre):
        self.fenetre = fenetre
        self.perso = pygame.image.load("Sprite\player.png").convert_alpha()
        self.position_perso = self.perso.get_rect()

    def actualiser(self):
        self.fenetre.blit(self.perso, self.position_perso)

Quand la class et dans le même fichiez python, tout marche mais quand je fait comme sa 

le message d'erreur suivant s'affiche:

Traceback (most recent call last):
  File "C:\Users\c�line\Documents\a mimi python\pygame test\fenetre.py", line 10, in <module>
    voiture = player(fenetre)
NameError: name 'player' is not defined
[Finished in 2.358s]





  • Partager sur Facebook
  • Partager sur Twitter
11 mai 2020 à 18:52:31

voiture = personnage.player(fenetre) peut-être ...
  • Partager sur Facebook
  • Partager sur Twitter

Python c'est bon, mangez-en. 

11 mai 2020 à 18:59:21

Oula... je me sens un peu con en ce moment xD merci pour ta reponse TwT
  • Partager sur Facebook
  • Partager sur Twitter
10 avril 2021 à 17:54:21

Bonjour,

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter