IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SFML Discussion :

[SFML] - Appui sur deux touches simultanément


Sujet :

SFML

  1. #1
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut [SFML] - Appui sur deux touches simultanément
    Bonjour,
    Je viens chercher de l'aide, car je n'ai pas trouvé de solution dans la doc de sfml.

    Dans mon projet en cours, je dirige simplement une voiture en modifiant l'orientation (angle) avec les touches gauche et droite et en avancant avec la touche up.
    Seulement, je ne peux pas tourner en avancer en même temps... le mouvement est toujours celui de la dernière touche pressée.

    Voici le code de gestion de les évènements:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
     
        while (App.IsOpened())
        {
    		vecX = vitesse_voiture * sin(DegToRad(angle));
    		vecY = vitesse_voiture * cos(DegToRad(angle));
     
            // Traitement des évènements
            sf::Event Event;
            while (App.GetEvent(Event))
            {
                // Fenêtre fermée : on quitte
                if (Event.Type == sf::Event::Closed)
                    App.Close();
     
    			if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Right))
    			{			
    				angle = angle - 5.f;
    				printf("angle : %f \n", angle);				
    			}
     
    			if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Left))
    			{			
    				angle = angle + 5.f;
    				printf("angle : %f \n", angle);
    			}
     
    			if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Down)) //todo récupérer vue et bouger le screen c simple. 
    			{
    				spt_voiture.Move(vecX, vecY);
    				printf("vecX : %f \n", vecX);
    				printf("vecY : %f \n", vecY);
    			}
     
    			if ((Event.Type == sf::Event::KeyPressed) && (Event.Key.Code == sf::Key::Up))
    			{
    				vecY = vecY * (-1);
    				vecX = vecX * (-1);
    				spt_voiture.Move(vecX, vecY);
    				printf("vecX : %f \n", vecX);
    				printf("vecY : %f \n", vecY);
    			}
            }
     
    		spt_voiture.SetRotation(angle);
     
            // Affichage du contenu de la fenêtre à l'écran
     
    		App.SetView(vue);
    		App.Draw(spt_map);
    		App.Draw(spt_voiture);
            App.Display();
    Merci.

  2. #2
    Membre habitué Avatar de skysee
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 191
    Points : 137
    Points
    137
    Par défaut
    Résolu,
    je n'avais pas bien compris le chapitre "récupérer les entrées temps-réel" de http://www.sfml-dev.org/tutorials/1....-events-fr.php

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/05/2008, 20h01
  2. [Javascript] appui sur la touche entrée dans une textbox
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/01/2006, 12h19
  3. Réponses: 3
    Dernier message: 24/01/2005, 12h57
  4. Simuler l'appui sur une touche, au niveau système
    Par debutant java dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 13/08/2004, 13h51
  5. Détecter l'appui sur la touche de fonction F2
    Par titiyo dans le forum Composants VCL
    Réponses: 6
    Dernier message: 18/06/2003, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo