Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: [résolu]Problème plusieurs touches  (Lu 5780 fois)

0 Membres et 1 Invité sur ce sujet

arthuro

  • Newbie
  • *
  • Messages: 42
    • Voir le profil
    • E-mail
[résolu]Problème plusieurs touches
« le: Juillet 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)
« Modifié: Août 02, 2012, 10:38:10 am par arthuro »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Problème plusieurs touches
« Réponse #1 le: Juillet 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
  • *
  • Messages: 42
    • Voir le profil
    • E-mail
Re : Problème plusieurs touches
« Réponse #2 le: Juillet 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.