Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'un jeu avec Tkinter

Utilisationd'un canevas_ Comment passer d'une fenêtre à l'autre?

    29 mars 2014 à 17:03:16

    Bonjour!

    Je suis actuellement entrain de travailler mon projet ISN, mais ne maîtrisant absolument pas tkinter, j'ai beaucoup de mal à avancer.

    Nous souhaitons créer un jeu du type Zelda en moins compliqué, puisque, par exemple, les déplacements du personnage sont déjà enregistrés.

    Nous avons déjà créé plusieurs mini-jeux, mais on ne peut y jouer que sur IDLE, or c'est avec Tkinter que nous voudrions travailler.

    J'ai donc une première question: Comment adapter à tkinter la programmation d'un jeu?

    Par ailleurs j'ai créé une fenêtre TKinter pour le moment avec un simple canevas vert. J'ai ensuit écrit le nom du jeu au milieu, et je voudrais ajouter à ça un widget "Entry" pour que le joueur y rentre son nom. Seulement, "Entry" ne s'affiche pas comme je le souhaiterais au milieu de mon canevas vert, et je ne trouve aucune solution pour l'"intégrer" au canevas. C'était l'objet de ma seconde question. (Ca fait maintenant plus de 2h que je cherche une solution sur des forums, mais je n'ai rien trouvé de satisfaisant)

    Voici la dernière:

    Un fois ma première image affichée, je voudrais passer à une seconde image, qui afficherait le "monde" de notre personnage avec quelques lieux interactifs (c'est encore un problème, mais je chercherait à le régler plus tard). Existerait-il une commande qui puisse faire passer une image à la suivante?

    Je vous remercie d'avoir lu jusqu'au bout! Voici ci-joint le code de la fenêtre de départ (ça n'est peut-être pas le meilleurs, mais comme on débute, on a fait avec les moyens du bord!):

    from tkinter import*

    fenetre = Tk()

    fenetre.title("JEU")

    #Canevas
    canevas = Canvas(fenetre, width=1280, height=1280, background="green")

    bouton_quitter = Button(fenetre, text="Quitter", command = fenetre.quit)
    bouton_quitter.pack()

    Nom = Entry(fenetre)  
    Nom.pack()

    canevas.pack()

    canevas.create_text(640, 640, text="Début du jeu",fill="blue",font="Arial 20")

    fenetre.mainloop()

    • Partager sur Facebook
    • Partager sur Twitter
      29 mars 2014 à 18:45:37

      Salut,

      Q1: Ben comme tu fais, avec un canvas.

      Q2: Avec canvas.window_create() lien: http://python.developpez.com/cours/apprendre-python3/?page=page_16#L16-D-3

      Q3: Avec canvas.itemconfigure() lien: http://python.developpez.com/cours/apprendre-python3/?page=page_16#L16-C

      J'espère avoir répondu à tes questions,

      pythan

      Edit: je précise que les réponse se trouvent dans le code pas loin en dessous de la où je t'envois

      -
      Edité par pythan 29 mars 2014 à 18:47:20

      • Partager sur Facebook
      • Partager sur Twitter
      Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
        29 mars 2014 à 19:47:32

        Merci, c'est super!

        Seulement j'ai toujours des problèmes avec la première question: si mon code se trouve sur la fenêtre IDLE et que je met mon jeu en route.

        Mettons (en gros):

        "prix d'un banane, suggestion: (réponse)

        bravo, tu as trouvé le prix de la banane."

        Tout ceci ne va pas s'afficher sur mon canevas. Il faudrait donc que je recode tout mon jeu avec les commandes tkinter (comme "entry" ou avec des check button?)

        • Partager sur Facebook
        • Partager sur Twitter
          29 mars 2014 à 21:43:46

          Exact...:-°

          Mais si le canvas c'était juste pour avoir le joli fond vert il y à:

          from tkinter import*
          fen=Tk()
          fen.configure(background="green")



          • Partager sur Facebook
          • Partager sur Twitter
          Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
            29 mars 2014 à 22:22:10

            Brillant!

            Merci beaucoup!:)

            Si je peux me permettre une dernière question, Est-ce que à la place du joli fond vert je peux mettre une image crée avec paint avec  "backgroud=file=image.JPG" (ça fait peut être beaucoup dans une seule parenthèse?)

            • Partager sur Facebook
            • Partager sur Twitter
              29 mars 2014 à 23:09:53

              Tragicomix a écrit:

              Si je peux me permettre une dernière question, Est-ce que à la place du joli fond vert je peux mettre une image crée avec paint avec  "backgroud=file=image.JPG" (ça fait peut être beaucoup dans une seule parenthèse?)

              Désolé de te dire que je ne sais pas ... Mais d'après ce que tu veux faire il vaut mieux utiliser la bibliothèque pygame que Tkinter, non ?

              • Partager sur Facebook
              • Partager sur Twitter
                29 mars 2014 à 23:24:39

                Si,sauf que pygame ne fonctionne ni chez moi, ni au lycée, ni chez ma binôme, et que je n'ai plus beaucoup de temps avant l'oral! On a donc décidé d'utiliser tkinter... C'est sur, c'est moins adapté!

                • Partager sur Facebook
                • Partager sur Twitter
                  30 mars 2014 à 10:53:46

                  baptisteguil a écrit:

                  Mais d'après ce que tu veux faire il vaut mieux utiliser la bibliothèque pygame que Tkinter, non ?

                  Avec pygame:

                  • Il n'y a pas de widget Entry
                  • Il n'y a pas de widget Button
                  • Il n'y a pas de widget Text (je crois)

                  C'est pas vraiment la meilleur solution pour Tragicomix d'autant plus que Tkinter est très bien pour débuter les interfaces graphiques avec python.

                  Tragicomix a écrit:

                  Est-ce que à la place du joli fond vert je peux mettre une image crée avec paint avec  "backgroud=file=image.JPG" (ça fait peut être beaucoup dans une seule parenthèse?)

                  Il faut croire, en trichant un peu : http://www.afpy.org/forums/forum_python/forum_general/899508698936

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Bevet Breizh! Breizh dizalc'h! Betek an trec'h! Ha mallozh ruz d'ar c'hallaoued! Trouvez votre voie
                    21 avril 2014 à 12:20:00

                    ok! J'y aurais pas pensé!  Erci!
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Création d'un jeu avec Tkinter

                    × 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.
                    • Editeur
                    • Markdown