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

Python Discussion :

Python : gestion des touches avec pygame sous Raspberry


Sujet :

Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Par défaut Python : gestion des touches avec pygame sous Raspberry
    Bonjour à tous,

    Voila je suis débutant en python et je developpe une petite application j'aimerais utiliser les touches de mon clavier en mode console.

    Voila j'ai vu la librairies pygame et j'essaye de l'utiliser mais je me demande si il ne faut pas absolument une fenetre pour l'utiliser.

    j'ai fait ce bout de code qui ne plante pas mais qui ne m'affiche pas touche up et touche down ....


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    import pygame
    pygame.init()
     
    while(True):
       for event in pygame.event.get():
          if (event.type == KEYDOWN):
             if (event.key == K_UP):
               print "TOUCHE UP"
             if (event.key == K_DOWN):
               print "TOUCHE DOWN"
    Est il possible d'utiliser pygame en mode console ?

    Cordialement,
    bypbop

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 067
    Par défaut
    La gestion des événements nécessite une fenêtre graphique.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2005
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 49
    Par défaut
    Merci pour cette infos que pourrais je utiliser d'autre pour avoir simplement les evènements clavier pour un programme en console ?
    Cordialement,
    bypbop

  4. #4
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    Des évènements, ça me parait difficile, mais une ligne complète avec raw_input, c'est possible.

    A+

    Pfeuh

  5. #5
    Expert confirmé

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Par défaut
    Petite precision: ce sera raw_input enj branche 2.x, et input en branche 3.x

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 695
    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 695
    Par défaut
    Citation Envoyé par bypbop Voir le message
    Merci pour cette infos que pourrais je utiliser d'autre pour avoir simplement les événements clavier pour un programme en console ?
    La terminologie "évènement" renvoie à interface graphique et à la carte qui va avec pour que le GUI (pygame ou autre) s'y retrouve. Sans tout çà on se retrouve à lire les caractères et à dispatcher les actions "à la mimine".
    Sur les U**X, vous avez la bibliothèque "curses" pour faire des interfaces utilisateurs sympa (et sans carte graphique).

    Côté codage, çà donne un truc dans le genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    import curses
    import sys
     
    def putc(ch):
        sys.stdout.write(ch)
        sys.stdout.flush()
     
    def on_keyup(*args):
        print ('on key_up')
     
    def on_keydown(*args):
        print ('on_keydown')
     
    def do_getch(screen):
        actions = {
            curses.KEY_UP: on_keyup,
            curses.KEY_DOWN: on_keydown,
        }
        while 1:
           v = screen.getch()
           action = actions.get(v, putc)
           action(chr(v))
           if v == ord('Q'): 
                break
     
    curses.wrapper(do_getch)
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. [JSF 2] Gestion des URL avec des sous-dossiers
    Par facilus68 dans le forum JSF
    Réponses: 10
    Dernier message: 18/02/2015, 10h21
  2. Réponses: 3
    Dernier message: 06/01/2012, 15h26
  3. Class de gestion des images avec rotation
    Par Johnny Boy dans le forum MFC
    Réponses: 1
    Dernier message: 03/05/2005, 11h54
  4. [TP]Problème dans la gestion des touches d'un tetris
    Par Guile0 dans le forum Turbo Pascal
    Réponses: 18
    Dernier message: 31/01/2005, 22h40
  5. [DirectInput] Gestion des touches en mode fenêtré
    Par Harry_polin dans le forum DirectX
    Réponses: 8
    Dernier message: 19/03/2003, 17h50

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