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 :

[Pygame]Gérer deux touches appuyées en même temps


Sujet :

Programmation multimédia/Jeux Python

  1. #1
    Membre averti Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Points : 364
    Points
    364
    Par défaut [Pygame]Gérer deux touches appuyées en même temps
    Bonjour,
    Je me suis mis récemment à Python et aussi à son module Pygame. J'adore ce langage car très simple tout en n'étant pas vraiment limité (pour l'utilisation que j'en fait tou du moins :p).

    Donc mon problème est le suivant :
    J'ai un jeu de plate-forme tout simple. Le problème intervient durant le saut. Si l'interacteur appui seulement sur la touche "K_UP", le personnage va sauter à la verticale. En revanche, j'aimerais que celui-ci saute vers la gauche si le joueur appui sur "K_UP" et "K_LEFT". Voici ce que j'ai fait (je ne met pas tout le code histoire de mieux m'y retrouver) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    tkey = pygame.key.get_pressed()
    if tkey[K_UP] and tkey[K_LEFT] :
         print "Saute a gauche"
    Voilà, ça ça ne marche pas, je ne comprends pas pourquoi... A moins qu'il faille faire une condition du type (je dis bien du type :p) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if tkey[K_LEFT + K_UP] :
    ?

    Merci d'avance

  2. #2
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 16
    Points : 19
    Points
    19
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    tkey = pygame.key.get_pressed()
     
    if tkey[K_UP] and perso_au_sol :
        print "Saut vertical"
     
    if tkey[K_LEFT] :
        print "A gauche"
     
    if tkey[K_RIGHT] :
        print "A droite"
    Après, si tu veux que ton perso ne puisse pas changer de direction "en l'air" :
    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
    tkey = pygame.key.get_pressed()
     
    if tkey[K_UP] and perso_au_sol :
        if tkey[K_LEFT] :
            print "Saut à gauche"
        if tkey[K_RIGHT] :
            print "Saut à droite"
        else :
            print "Saut vertical"
     
    if tkey[K_LEFT] and perso_au_sol :
        print "A gauche"
     
    if tkey[K_RIGHT] and perso_au_sol :
        print "A droite"
    De cette façon au moment de l'appui sur la touche [K_UP], on vérifiera si [K_LEFT] ou [K_RIGHT] sont déjà enfoncées.

    Je n'ai pas essayé, mais c'est ce qu'il me semble être le plus logique.

  3. #3
    Membre averti Avatar de yetimothee
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 260
    Points : 364
    Points
    364
    Par défaut
    Ouai, en gros ça marche, merci

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/04/2012, 17h15
  2. Evènement : Deux touches appuyées simultanément
    Par Matt112 dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 21/01/2008, 09h19
  3. [Assembleur 16 bits] 2 touches utilisées en même temps
    Par wechteuf dans le forum x86 16-bits
    Réponses: 8
    Dernier message: 12/01/2008, 02h00
  4. lancer deux prgm C en même temps
    Par salseropom dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 03/05/2007, 09h35
  5. Réponses: 7
    Dernier message: 05/06/2006, 13h44

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