[C++] [SFM] Répétition des touches

Résolu/Fermé
Wazza6 Messages postés 180 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 21 juillet 2012 - 22 déc. 2009 à 00:59
Wazza6 Messages postés 180 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 21 juillet 2012 - 22 déc. 2009 à 01:05
Bonjour,
je fais un petit jeu 2D avec la SFML (c'est mon premier) et je voudrais que mon joueur se déplace avec les flèches ... En ce moment , j'ai ce code pour faire déplacer luigi à l'écran (je manques d'originalité pour les noms :-) ) :
sf::Event Event;
    while (App.GetEvent(Event))
             {
                if(Event.Type == sf::Event::KeyPressed && Event.Key.Code == sf::Key::Down)
                {
                    position.y = position.y+5;
                    Luigi.SetImage(Luigi_down);
                }
                else if(Event.Type == sf::Event::KeyPressed && Event.Key.Code == sf::Key::Up)
                {
                    position.y = position.y-5;
                    Luigi.SetImage(Luigi_up);
                }
                else if(Event.Type == sf::Event::KeyPressed && Event.Key.Code == sf::Key::Right)
                {
                    position.x = position.x+5;
                    Luigi.SetImage(Luigi_right);
                }
                else if(Event.Type == sf::Event::KeyPressed && Event.Key.Code == sf::Key::Left)
                {
                    position.x = position.x-5;
                    Luigi.SetImage(Luigi_left);
                }
             }

Mais ce code me permet seulement de recevoir une direction à la fois (donc luigi ne se déplace pas en diagonale) et ça prend environ une seconde avant que la touche se répète , donc il avance de 5 , ensuite il attend un peu et il repart à 5 pixels toutes les 40ièmes de secondes (j'ai règlé le FPS à 40)

Quelqu'un connait un moyen de règler ce problème?

1 réponse

Wazza6 Messages postés 180 Date d'inscription lundi 31 décembre 2007 Statut Membre Dernière intervention 21 juillet 2012 40
22 déc. 2009 à 01:05
Règlé ... en cherchant un peu j'ai trouvé sf::Input :)
1