Partage
  • Partager sur Facebook
  • Partager sur Twitter

Besoin d'aide pour un jeu type Pokémon

    5 novembre 2017 à 12:37:24

    Salut à tous

    Voici le problème, avec mon ami on a décidé de faire un fan game pokémon. On a donc créé notre première map avec Tiled Map Editor. Pour le code, on a pas le droit a PyGame, juste a Tkinter, et là encore on a pas le droit d'utiliser les class

    J'ai un peu commencé à coder, j'arrive à afficher la carte, j'utilise un canvas, et j'ai réglé la taille de ce dernier pour avoir à peu près le "zoom" de la caméra des jeux pokémon, mais quand je veux faire en sorte que ça prenne la taille de la fenêtre, je vois la totalité de la map. N'y a-t-il pas de moyen pour juste étendre le canvas ?

    Je vous met le code, ça reste un peu brouillon

    from tkinter import *
    
    def Clavier(event):
        """ Gestion de l'evenement Appui sur une touche du clavier """
        global PosX,PosY
        touche = event.keysym
        print(touche)
        # deplacement vers le haut
        if touche == 'z':
            PosY += 16
        # deplacement vers le bas
        if touche == 's':
            PosY -= 16
        # deplacement vers la droite
        if touche == 'd':
            PosX -= 16
        # deplacement vers la gauche
        if touche == 'q':
            PosX += 16
        Image = Canevas.create_image(PosX, PosY, image=Map, anchor = NW)
    
    Mafenetre = Tk()
    Mafenetre.title('Pion')
    Mafenetre.geometry("1680x1050")
    
    Map=PhotoImage(file="M:\Pokémon\Map.gif")
    
    PosX = 0
    PosY = 0
    x = 120
    y = 136
    
    Canevas = Canvas(Mafenetre, width = 256, height = 256, bg ='white')
    Image = Canevas.create_image(PosX, PosY, image=Map, anchor = NW)
    Canevas.focus_set()
    Canevas.bind('<Key>',Clavier)
    Canevas.pack(padx =5, pady =5)
    
    
    Mafenetre.mainloop()
    • Partager sur Facebook
    • Partager sur Twitter
      5 novembre 2017 à 15:35:17

      Etendre le canvas ??? Tu veux agrandir l'image ???
      • Partager sur Facebook
      • Partager sur Twitter
      Nous ne savons pas quoi faire de cette courte vie, et pourtant nous en désirons une autre qui soit éternelle.
        7 novembre 2017 à 19:32:09

        Ca peut paraître bête, mais je voudrai que en gros, ce que j'affiche en 256*256, je puis l'afficher sur la totalité de la fenêtre mais que ca affiche la même chose, pas plus ? Je sais pas si je suis claire
        • Partager sur Facebook
        • Partager sur Twitter
          7 novembre 2017 à 19:54:29

          Bonsoir,

          Il faudrait que tu ne dessines que la partie de la carte que tu souhaites vraiment afficher, et non la totalité. Mais tu ferais mieux de travailler avec ta map dansun format plus adapté (comme celui exporté par Tiled Map Editor) plutôt qu'un gif.

          -
          Edité par entwanne 7 novembre 2017 à 19:55:22

          • Partager sur Facebook
          • Partager sur Twitter
            7 novembre 2017 à 20:28:33

            Donc je devrai fractionner ma map par carré de 256*256 ? 

            Faudrait que j'utilise le Json Lua ou tmx ?

            • Partager sur Facebook
            • Partager sur Twitter
              8 novembre 2017 à 22:55:58

              J'ai regardé un peu le format Json, ça semble pas mal, mais je vois pas comment faire pour créer mon jeu sans utiliser ni PyGame ni les class

              Un piti coup de main serait le bienvenue :) 

              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                10 novembre 2017 à 18:50:24

                Question conne : pourquoi t'aurais pas le droit d'utiliser pygame ? Tkinter est clairement pas fait pour faire un jeu

                Surtout quand on sait qu'avec pygame on peut arriver à faire un jeu type pokémon facilement si on prend son temps :

                http://hpics.li/d99ac01

                http://hpics.li/7d43d7b

                (auteur du projet : moi, sources fermées depuis environ 1 an, full python + pygame)

                ET PYGAME C'EST LIBRE et cool aussi btw

                et pour te forcer à passer à pygame, parce que franchement tk, je vois pas pourquoi tu serais forcé de l'utiliser (hormis une histoire de compatibilité entre machine ou quoi, ce qui est pas un problème), un tuto sur pygame : https://zestedesavoir.com/contenus/beta/846/pygame-pour-les-zesteurs/

                -
                Edité par Anonyme 10 novembre 2017 à 18:56:17

                • Partager sur Facebook
                • Partager sur Twitter
                  12 novembre 2017 à 16:42:55

                  Parce que c'est pour le bac, et on a pas le droit d'utiliser PyGame, c'est trop simple sinon... Donc ça me désespère de se mettre des bâtons dans les roues, mais j'ai pas le choix
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    12 novembre 2017 à 17:02:03

                    Donc j'en déduis que tu es en ISN

                    Perso en ISN on a eu 0 limitation donc avec mon groupe on est parti du Python+Pygame avec un launcher codé en C (c'était totalement inutile, mais rigolo à faire). Et dans les programmes de l'éducation nationale, il n'y a pas écrit qu'utiliser tel ou tel truc c'est trop facile, tu peux en parler à ton prof, c'est totalement con ce qu'il demande là.

                    Tu peux néanmoins regarder ceci : https://www.youtube.com/watch?v=OEFtvbMNQa8 (certes y a pas la source, je cherche encore là)

                    https://www.youtube.com/watch?v=9LBoHPEvpk0 (source disponible)

                    http://fsincere.free.fr/isn/python/cours_python_tkinter.php

                    Sinon pour ton problème, je pense que tu devrais modifier le niveau de zoom de ton canvas (cf https://stackoverflow.com/a/5629454)

                    PS: pour les déplacements, essaye de faire un minimum smooth, au lieu de bouger d'un coup de 16 px. Par exemple :

                    speed = 16
                    
                    ...
                    # code de gestion des keys events
                    if key == key_up:
                        going_up = speed
                    
                    ...
                    # code d'update de la fenetre (exécuté par ex. 60 fois par seconde)
                    if going_up:  # en gros, on rentre dedans tant que going_up != 0
                        x, going_up = x - 1, going_up - 1
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      12 novembre 2017 à 17:33:52

                      Perso je pense que tu devrais fixer la taille de ton canvas pour le moment et attendre d'avoir un peu avancé dans ton projet et dans ta pratique de tkinter avant de chercher à jouer avec le redimensionnement des images, ne pas mettre les bœufs avant la charrue. ;)

                      -
                      Edité par Anonyme 12 novembre 2017 à 17:34:11

                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 novembre 2017 à 20:19:33

                        Sérieux c'est pas interdit ? J'avais commencé avec pygame puis la prof avait dit que j'avais pas le droit donc bah j'ai fait avec Tkinter, mais si on a le droit a pygame, ça va aller tellement plus vite

                        Merci en tout cas :)

                        Donc je devrai continué a faire mon jeu sur un format 256*256 ?

                        De toute façon j'ai pas trop d'autres solutions pour l'instant 

                        -
                        Edité par GaMeRzxFun 12 novembre 2017 à 20:29:21

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Anonyme
                          12 novembre 2017 à 20:44:59

                          C'est elle qui a fixé cette "règle" je pense. Si tu regardes sur google, par exemple en cherchant BAC ISN pygame tu verras que beaucoup de gens l'ont utilisé.
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            12 novembre 2017 à 20:46:47

                            Si ton prof te dit de ne pas utiliser Pygame, c'est qu'il doit avoir ses raisons. Demande-lui avant.

                            Ceci dit je ne trouve pas que Pygame soit plus simple que tkinter. Les possibilités avec Pygame sont peut-être plus nombreuse, mais ton projet est parfaitement réalisable avec tkinter (aussi facilement qu'avec Pygame).

                            Après si on te dit que tu es libre de choisir, va voir du coté de pyglet, ou même carrément cocos2d.

                            • Partager sur Facebook
                            • Partager sur Twitter
                              13 novembre 2017 à 19:32:35

                              J'en discuterai avec elle jeudi, je vous tiendrai au courant des éventuels avancés et du coup si jamais j'ai besoin d'un petit coup de main :)

                              EN tout cas merci de vos réponses :)

                              • Partager sur Facebook
                              • Partager sur Twitter

                              Besoin d'aide pour un jeu type Pokémon

                              × 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