Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme avec clavier -pygame

Sujet résolu
Anonyme
    19 décembre 2011 à 11:56:10

    Salut !,
    je suis sur un projet de jeu video avec pygame seulement les touchez a,b,c etc ne marche pas pourtant je marque bien par exemple K_a.
    vous auriez une idée de ce qui cloche ?
    merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      19 décembre 2011 à 17:09:49

      fais voir le code qui ne marche pas ...
      • Partager sur Facebook
      • Partager sur Twitter

      Python c'est bon, mangez-en. 

      Anonyme
        20 décembre 2011 à 13:37:45

        # -*- coding: cp1252 -*-
        import os
        import pygame
        from pygame.locals import *
        os.chdir("C:\Users\RABAH\Documents\journée irlandaise\image")
        pygame.init()
        fen=pygame.display.set_mode((840,680),RESIZABLE)
        fond=pygame.image.load("orion1.jpg").convert()
        fen.blit(fond,(0,0))
        onglet_jouer=pygame.image.load("jouer_2.gif").convert()
        fen.blit(onglet_jouer,(0,0))
        pygame.display.flip()
        continuer=1
        while continuer:
            menu=1
            jeu=1
            while menu:
                pygame.time.Clock().tick(30)
                for event in pygame.event.get():
                        if event.type==QUIT:
                            menu=0
                            continuer=0
                            jeu=0
                        if event.type==KEYDOWN:
                            if event.key==K_a:
                               onglet_jouer=pygame.image.load("jouer_1.gif").convert()
                fen.blit(fond,(0,0))
                fen.blit(onglet_jouer,(0,0))
                pygame.display.flip()
            if menu==0 and jeu==1:
                fond=pygame.image.load("background.jpg").convert()
                fen.blit(fond,(0,0))
                pygame.display.flip()
        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2011 à 14:03:04

          ça marche chez moi ...

          tu as peut-être un clavier exotique.
          essayes ce code et dis-moi si le résultat est cohérent.

          import pygame
          pygame.font.init()
          from pygame.locals import *
          fen=pygame.display.set_mode((250,100),RESIZABLE)
          font = pygame.font.Font(None,16)
          pygame.display.update(fen.blit(font.render("appuyez sur la touche 'a' code = "+str(K_a),1,(200,200,200)),(20,20)))
          while True:
              ev = pygame.event.wait()
              if ev.type == KEYDOWN:
                  pygame.display.update(fen.blit(font.render("code de la touche enfoncee = "+str(ev.key),1,(200,200,200),(0,0,0)),(20,30)))
                  break
          pygame.time.wait(5000)
          • Partager sur Facebook
          • Partager sur Twitter

          Python c'est bon, mangez-en. 

          Anonyme
            20 décembre 2011 à 19:10:04

            apparemment ça fonctionne:
            chez moi ton code marque :code de la touche enfoncé=113
            • Partager sur Facebook
            • Partager sur Twitter
              20 décembre 2011 à 19:17:33

              Citation : nono le zz

              chez moi ton code marque :code de la touche enfoncé=113



              et ça correspond avec la touche 'a' ? le code de 'a' est donné sur la ligne qui te demande d'appuyer sur 'a' ...
              • Partager sur Facebook
              • Partager sur Twitter

              Python c'est bon, mangez-en. 

              Anonyme
                20 décembre 2011 à 19:30:30

                le code de a est égal a 97
                • Partager sur Facebook
                • Partager sur Twitter
                  20 décembre 2011 à 21:00:37

                  ok, apparement pygame voit un clavier QWERTY ...

                  il faut créer une table de correspondance. Tu es sous wondows ?

                  d'une manière plus transparente tu écris une fonction myevent.get() que tu appelles à la place de pygame.event.get().
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Python c'est bon, mangez-en. 

                  Anonyme
                    20 décembre 2011 à 21:16:50

                    Je suis sur windows et sur linux,je vais essayer avec myevent.get() a la place de pygame.event.get()
                    je te dit si ça marche merci pour ton aide :D
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 décembre 2011 à 21:55:41

                      Citation : nono le zz

                      Je suis sur windows et sur linux,je vais essayer avec myevent.get() a la place de pygame.event.get()
                      je te dit si ça marche merci pour ton aide :D



                      après y pas 36000 lettres qui changent.
                      dans le code qui suit je n'ai redéfinis que le 'q' ...

                      import pygame
                      
                      class myevent:
                          mykey = {113:{'key':97,'unicode':'a'}} # redefinir ici les touches qui changent
                          @staticmethod
                          def get():
                              output = []
                              for ev in pygame.event.get():
                                  if ev.type in (pygame.KEYUP,pygame.KEYDOWN):
                                      output.append(pygame.event.Event(ev.type,myevent.mykey.setdefault(ev.key,ev.dict)))
                                  else:
                                      output.append(ev)
                              return output
                      
                      scr = pygame.display.set_mode((200,200))
                      while 1:
                          for ev in myevent.get():
                              if ev.type == pygame.KEYDOWN: print(ev.key,ev.unicode)
                      
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Python c'est bon, mangez-en. 

                      Anonyme
                        20 décembre 2011 à 22:30:46

                        c'est bon apparemment ça marche!
                        merci pour ton aide :)
                        • Partager sur Facebook
                        • Partager sur Twitter

                        probleme avec clavier -pygame

                        × 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