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 :

in_create_tkinter.tclError Projet golf 2D


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut in_create_tkinter.tclError Projet golf 2D
    Bonjour

    J'essaye de coder un jeu de golf en 2D avec une vue de haut. Dans le code que je vais vous montrer j'essayais de réunir deux partie codées indépendamment.

    Code final: regroupant, menu, apparition du fond de couleur après le menu, apparition de la balle



    from tkinter import*
    import random
    import time

    Largeur=1000
    Hauteur=680

    ###Fenetre de jeu
    def NouvellePartie():
    fenetre = Tk()
    fenetre.title('Hardcore Pong Of Doom Of Fate Of Death')
    Fond = Canvas(fenetre, width = Largeur, height = Hauteur, bg ='black')
    Fond.pack()

    r=10
    x = random.randint(r, Largeur)
    y = random.randint(r, Hauteur)
    balle = Fond.create_oval(x-10, y-10, x+10, y+10, fill='white')

    Gpelouse= PhotoImage (file="Gpelouse.gif")
    Fpelouse= PhotoImage (file="Fpelouse.gif")
    Hpelouse= PhotoImage (file="Hpelouse.gif")

    ###Nouvelle Partie cette partie demande au programme d'ouvrir un fichier .txt, sur lequel se trouve une suite de caractères tels que "x", "o" ou "b". Pour chaque caractère il affiche une image.gif qui lui est destinée.
    x,y=0,0
    fichier = open("Tpelouse.txt")
    for ligne in fichier:
    for i in range(25):
    case=ligne[i]
    if case == 'x':
    Fond.create_image(x,y,image=Gpelouse, anchor ="nw")
    x=x+40
    if case == 'o':
    Fond.create_image(x,y,image=Fpelouse, anchor ="nw")
    x=x+40
    if case == 'b':
    Fond.create_image(x,y,image=Hpelouse, anchor ="nw")
    x=x+40
    x=0
    y=y+40
    fichier.close()
    fenetre.mainloop()

    ###Menu Principal Un menu classique composé d'un fond noir et de deux boutons Nouvelle Partie et Quitter
    Menu = Tk()
    Menu.title('Hardcore Pong Of Doom Of Fate Of Death')
    Menu['bg'] = 'black'
    Menu.geometry("1000x680")
    Nouveau = Button(Menu, text = 'Nouvelle Partie ?', command = NouvellePartie)
    Nouveau.pack()
    Quitter = Button(Menu, text ='Quitter ?', command = Menu.destroy)
    Quitter.pack()




    Le menu est fonctionnel, les boutons aussi. Lorsqu'on lance une partie on obtient l'apparition de la balle mais sur un fond noir au lieu du fond créer à partir des .gif.
    J'ai un message d'erreur qui s'afficher après avoir cliquer sur "Nouvelle Partie":



    Exception in Tkinter callback
    Traceback (most recent call last):
    File "/usr/lib/python3.3/idlelib/run.py", line 109, in main
    seq, request = rpc.request_queue.get(block=True, timeout=0.05)
    File "/usr/lib/python3.3/queue.py", line 175, in get
    raise Empty
    queue.Empty

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last):
    File "/usr/lib/python3.3/tkinter/__init__.py", line 1478, in __call__
    return self.func(*args)
    File "/home/isn/Bureau/Projet ISN/Projet Python/Graphisme/Projet_regroupement.py", line 37, in NouvellePartie
    Fond.create_image(x,y,image=Hpelouse, anchor ="nw")
    File "/usr/lib/python3.3/tkinter/__init__.py", line 2322, in create_image
    return self._create('image', args, kw)
    File "/usr/lib/python3.3/tkinter/__init__.py", line 2313, in _create
    *(args + self._options(cnf, kw))))
    _tkinter.TclError: image "pyimage3" doesn't exist


    Voilà tout, j'espère avoir été assez précis pour que vous puissiez m'aider. Merci !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Remplacez Tk() dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ###Fenetre de jeu
    def NouvellePartie():
         fenetre = Tk()
         ....
    par Toplevel()

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Remplacez Tk() dans:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ###Fenetre de jeu
    def NouvellePartie():
         fenetre = Tk()
         ....
    par Toplevel()

    - W
    Impec ! En revanche la balle a de nouveau disparu :O

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 281
    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 281
    Points : 36 768
    Points
    36 768
    Par défaut
    Citation Envoyé par McdeluxPro402 Voir le message
    Impec ! En revanche la balle a de nouveau disparu :O
    Votre code est assez glissant mais ma théorie est la balle ne disparaît que si vous affichez des images par dessus.
    => virez la création des images pour vérifier

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

  5. #5
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mai 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Mai 2014
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Votre code est assez glissant mais ma théorie est la balle ne disparaît que si vous affichez des images par dessus.
    => virez la création des images pour vérifier

    - W
    C'est bon j'ai réussi à régler le problème.

    Merci pour votre aide ! Bonne continuation

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

Discussions similaires

  1. Projet golf 2D ISN
    Par McdeluxPro402 dans le forum Programmation multimédia/Jeux
    Réponses: 5
    Dernier message: 26/05/2014, 09h56
  2. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 14h52
  3. Parametrage des options de projet
    Par ares7 dans le forum EDI
    Réponses: 7
    Dernier message: 22/07/2002, 15h33
  4. Réponses: 6
    Dernier message: 21/06/2002, 14h48
  5. Les fichiers d'un projet
    Par Manolo dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/05/2002, 17h51

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