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

Auteur Sujet: Problème de déplacement d'un personnage avec les events claviers  (Lu 2955 fois)

0 Membres et 1 Invité sur ce sujet

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Voilà mon problème :

Je veux déplacer un personnage, mais seulement dans les directions Nord/Sud/Est/Ouest, pas de diagonales.

if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
            {
                joueur.SetPosX(joueur.GetPosX()-1);
                pause(0.2);
                ChargerPerso(perso, joueur);
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
            {
                joueur.SetPosX(joueur.GetPosX()+1);
                pause(0.2);
                ChargerPerso(perso, joueur);
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
            {
                joueur.SetPosY(joueur.GetPosY()+1);
                pause(0.2);
                ChargerPerso(perso, joueur);
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
            {
                joueur.SetPosY(joueur.GetPosY()-1);
                pause(0.2);
                ChargerPerso(perso, joueur);
            }

Voilà j'aimerais rendre le déplacement en diagonales impossible...

Merci d'avance

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problème de déplacement d'un personnage avec les events claviers
« Réponse #1 le: Février 11, 2013, 11:49:22 pm »
Utilise un bool que tu mets à true si t'as un mouvement horizontal, ensuite si il est à false tu traites les mouvement verticaux, sinon non.

Ou alors utilise des else if au lieu de tes if, et t'auras qu'un seul mouvement (haut gauche bas ou droite).
("algo" simplissime)

Cmdu76

  • Full Member
  • ***
  • Messages: 194
    • Voir le profil
Re : Problème de déplacement d'un personnage avec les events claviers
« Réponse #2 le: Février 12, 2013, 11:12:51 am »
Je suis trop nul xD

Mais je pensais que j'employais mal les events clavier, enfin bref..

Merci beaucoup ! :)

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problème de déplacement d'un personnage avec les events claviers
« Réponse #3 le: Février 12, 2013, 02:52:16 pm »
T'utilises pas d'event là, juste l'état des touches.

Orwel

  • Full Member
  • ***
  • Messages: 208
    • Voir le profil
Re : Problème de déplacement d'un personnage avec les events claviers
« Réponse #4 le: Février 20, 2013, 11:50:44 am »
Ou un else if. La dernière touche presser indiquera la direction (pas sur dans le cas où plusieurs touche sont appuyé en 1 refresh).