Welcome, Guest. Please login or register. Did you miss your activation email?

Author Topic: [résolu]Problème plusieurs touches  (Read 7054 times)

0 Members and 1 Guest are viewing this topic.

arthuro

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
[résolu]Problème plusieurs touches
« on: July 31, 2012, 04:13:45 pm »
J'ai un problème qui reste pour moi inexpliqué.
La sfml ne détecte pas lorsque j’appuie sur ces 3 touches en même temps.
Voila mon code:
        void SpeedFire::AcquireEvent()
        {
                Event e; while(screen.GetEvent(e));
                spacePressed=screen.GetInput().IsKeyDown(Key::Space);
                leftPressed=screen.GetInput().IsKeyDown(Key::Left);
                rightPressed=screen.GetInput().IsKeyDown(Key::Right);
                upPressed=screen.GetInput().IsKeyDown(Key::Up);
                downPressed=screen.GetInput().IsKeyDown(Key::Down);
        }

Par contre pour un trio de 3 autres touches, cela marche.

Si j'appuie sur [espace][gauche][haut]   j'obtient seulement [espace]
Si j'appuie sur [espace][gauche] puis [haut] j'obtient seulement [espace][gauche]


Étrange non?


C'est peut-être un problème de mon système (Ubuntu 12.04).
Ou de mon matériel.

Une idée?

Temps qu'on y ait, j'aimerais obtenir plus d'information sur l'utilité de vider les évenements en attente pour utiliser screen.GetInput()
( Je fais cela dans tout mes jeux, car sinon je n'obtient aucun événement à travers un Input)
« Last Edit: August 02, 2012, 10:38:10 am by arthuro »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Posts: 32498
    • View Profile
    • SFML's website
    • Email
Re : Problème plusieurs touches
« Reply #1 on: July 31, 2012, 04:31:57 pm »
Les claviers sont organisés en grille (là on parle vraiment au niveau matériel), du coup c'est simplement une limitation physique : si tu appuies sur plusieurs touches se trouvant sur la même ligne ou colonne, seule une d'entre elles enverra son signal à l'ordinateur.

Tu peux essayer sur d'autres jeux, tu auras strictement le même résultat.

Pour ce qui est du lien entre évènements et input, ça a déjà été modifié dans SFML 2, c'est maintenant complètement découplé.
Laurent Gomila - SFML developer

arthuro

  • Newbie
  • *
  • Posts: 42
    • View Profile
    • Email
Re : Problème plusieurs touches
« Reply #2 on: July 31, 2012, 11:36:39 pm »
Ha oui, je comprend. J'avais le même problème lorsque je programmais en C sur calculatrice.

Je vais donc simplement mettre les 3 touches sur au moins 2 lignes différentes.