IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Programmation multimédia/Jeux Python Discussion :

Gérer les importations de module dans pygame [Python 3.X]


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 51
    Points : 29
    Points
    29
    Par défaut Gérer les importations de module dans pygame
    Bonjour,

    je suis en train d'apprendre le langage python et pygame et après avoir créé un mini-jeu se basant sur le démineur, j'ai décidé de créer une interface graphique pour y jouer au lieu d'utiliser la console python.

    Pour rendre mon programme plus facile à travailler j'ai décidé de créer des modules. Dans un de ces modules j'importe une image se trouvant dans un dossier pour qu'elle soit en arrière plan dans la fenêtre pygame, jusqu'ici tout fonctionne.

    Mon problème survient quand je veux importer le module dans mon script principal, l'image ne s'affiche pas. Comment faire? Pygame ne peut pas importer d'images dans un script, qui sont elles-même importées dans un modules?

    Ce code correspond aux importations
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    from bibliotheque import ecran as fenetre
     
    from bibliotheque import ecran as arriere_plan
    Ce code correspond au module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    arriere_plan = pygame.image.load("images/montagne_debut_jeu1.jpg").convert() #image fond d'écran
    fenetre.blit(arriere_plan,(0,0))
    pygame.display.flip()
    Merci pour votre lecture et vos futures réponses

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par Goulthard Voir le message
    Pour rendre mon programme plus facile à travailler j'ai décidé de créer des modules.
    Réorganiser votre code en "modules", c'est d'abord prendre le temps de comprendre comment çà marche et à les utiliser.
    Il y a des tutos pour çà.

    Citation Envoyé par Goulthard Voir le message
    Mon problème survient quand je veux importer le module dans mon script principal, l'image ne s'affiche pas.
    Quand on demande à Python de faire quelque chose et qu'il ne le peut pas, en général, çà sort un message d'erreur pour indiquer pourquoi il ne peut pas...
    Et si cas extraordinaire, çà ne sort aucune erreur, permettre de le reproduire est nécessaire (avec un code plus petit).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Merci pour la réponse,

    Python m'affiche bien un message d'erreur : pygame.error: Couldn't open images/montagne_debut_jeu1.jpg.

    Je pensais que mon problème venait du module, mais quand je test le module, l'image s'affiche bien. C'est dans le fichier qui importe le module où se trouve l'image que ça ne marche pas.

    Ce message d'erreur me laisse penser que ma manip est "impossible" à faire, donc je lis le tuto que vous m'avez envoyez et peut-être que je trouverais la solution

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par Goulthard Voir le message
    Python m'affiche bien un message d'erreur : pygame.error: Couldn't open images/montagne_debut_jeu1.jpg.

    images/montagne_debut_jeu1.jpg est un nom de ficher "relatif" au répertoire de travail courant... ouvrez ce chapitre du Swinnen, çà vous expliquera tout çà.

    Je pensais que mon problème venait du module, mais quand je test le module, l'image s'affiche bien.
    Ce n'est pas parce que vous changez un truc qu'à l'insu de votre plein grès çà n'en change pas 2/3... sinon programmer serait presque facile.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2020
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2020
    Messages : 51
    Points : 29
    Points
    29
    Par défaut
    Bon j'ai réglé le problème, merci pour vos conseils qui ont éclairés ma lanterne visiblement bien éteinte ce matin...

    Le problème venait bien du répertoire courant. Mon module qui affichait l'image était dans un dossier nommé bibliothèque. Le script qui appelle les modules n'est pas dans ce dossier mais bizarrement quand j'ai changé de place le script et que je l'ai mis dans le dossier bibliothèque, ça marchait sans soucis

    Je vais donc passer le sujet en résolu et encore un énorme merci, c'est en lisant tous les documents que vous m'avez envoyés que la solution m'est apparue.

    Bonne journée à vous

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Peut on gérer les imports ?
    Par troxsa dans le forum VB.NET
    Réponses: 1
    Dernier message: 07/01/2009, 17h06
  2. Importer un module dans un nouveau classeur et fermer celui-ci
    Par illight dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/03/2008, 15h55
  3. Réponses: 2
    Dernier message: 07/07/2007, 14h24
  4. [IE6] Gérer les séparateurs de milliers dans un input text
    Par ddams dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 12/02/2007, 14h32
  5. Pouvoir gérer les actions des boutons dans une classe
    Par Cyborg289 dans le forum Composants
    Réponses: 2
    Dernier message: 08/07/2005, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo