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

Auteur Sujet: Problème d'input avec les flèches  (Lu 5106 fois)

0 Membres et 1 Invité sur ce sujet

Fugius

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Problème d'input avec les flèches
« le: Juillet 02, 2017, 09:44:13 pm »
Salut, petit problème que je n'arrive pas a expliquer avec sf::Keyboard::isKeyPressed
Un exemple sera plus rapide a expliquer :
    //events

    while (m_window->pollEvent(event)) {
        if (event.type == sf::Event::Closed)
            m_window->close();

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
            m_window->close();

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) {
            m_boat->move_right();
            cout << endl << "right";
        }  

        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Space)) {
            m_boat->jump();  
        }
           
    }
 

Dans ce morceau de code, tout fonctionne sauf la partie ou je check la flèche de droite, si je remplace Right par autre chose (par exemple A ou Numpad0 ...), ça fonctionne, mais les flèches sont reconnues rarement (si je reste appuyé sur la flèche  et uniquement sur la flèche 30s, 3-4 inputs seront détectés maximum).

je fais quelque chose de mal ou le problème viens de mon clavier/ordinateur ? (j'ai un vieux clavier mécanique logitech et je travaille sous windows 10).

Merci par avance de vos réponses :)

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
Re: Problème d'input avec les flèches
« Réponse #1 le: Juillet 02, 2017, 11:58:30 pm »
Sort tes " if (sf::Keyboard::isKeyPressed(sf::Keyboard::xxx))" en dehors de ta boucle d'event.
le but de ses fonctions , c'est d'être utilisé en dehors de la gestions des events.

Fugius

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re: Problème d'input avec les flèches
« Réponse #2 le: Juillet 03, 2017, 12:14:12 am »
Merci, mais ça ne résout pas le problème ;)

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
Re: Problème d'input avec les flèches
« Réponse #3 le: Juillet 03, 2017, 08:14:11 pm »
si cela ne résout pas ton soucis, alors change ta façon de faire avec des flags :


pseudocode :

Citer
if keypressed(up)
 upflag = true

if keyreleased(up)
 upflag = false


if upflag = true
 movetruc()

Fugius

  • Newbie
  • *
  • Messages: 10
    • Voir le profil
Re: Problème d'input avec les flèches
« Réponse #4 le: Juillet 04, 2017, 04:04:01 pm »
Le probleme c'est que le if fonctionne pas du tout, un :
       
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) {
            cout << "test" << endl;  
        }
 

ne fonctionne pas

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
Re: Problème d'input avec les flèches
« Réponse #5 le: Juillet 04, 2017, 08:57:36 pm »
tu as un code plus grand ?