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

Auteur Sujet: Problème Event  (Lu 3210 fois)

0 Membres et 1 Invité sur ce sujet

cChaD

  • Full Member
  • ***
  • Messages: 117
    • Voir le profil
Problème Event
« le: Juin 03, 2012, 01:26:17 pm »
Bonjour,

Je teste le déplacement d'un personnage avec 4 frames [B,H,G,D] et j'ai surement un soucis avec les events car quand j'appuit sur une touche et environs 1sec sur une autre j'ai une "pause" de 1 seconde, donc je ne comprend pas :

voici le code:

    if (event.Type == Event::KeyPressed)
    {
        switch (event.Key.Code)
        {
            case Keyboard::Down:
                velY += 0.1;
                _persoActuel = BAS;
                _spritePlayer[_persoActuel].SetPosition(velX, velY);
                break;

            case Keyboard::Up:
                velY -= 0.1;
                _persoActuel = HAUT;
                _spritePlayer[_persoActuel].SetPosition(velX, velY);
                break;

            case Keyboard::Left:
                velX -= 0.1;
                _persoActuel = GAUCHE;
                _spritePlayer[_persoActuel].SetPosition(velX, velY);
                break;

            case Keyboard::Right:
                velX += 0.1;
                _persoActuel = DROITE;
                _spritePlayer[_persoActuel].SetPosition(velX, velY);
                break;

            default:
                break;
        }
    }
 

Orwel

  • Full Member
  • ***
  • Messages: 208
    • Voir le profil
Re : Problème Event
« Réponse #1 le: Juin 06, 2012, 12:59:14 pm »
Le code est juste. Tu devrais faire une sortie sur la console, pour voir si les évènements sont capturés aussitôt.

iota

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
    • E-mail
Re : Problème Event
« Réponse #2 le: Juin 06, 2012, 01:17:27 pm »
Hello,

Si tu veux capturer l'état des touches du clavier en continu, je pense que tu devrais passer par sf::Keyboard::isKeyPressed() plutôt que les événements.
« Modifié: Juin 06, 2012, 01:23:24 pm par iota »

Raitosan

  • Full Member
  • ***
  • Messages: 221
    • Voir le profil
    • E-mail
Re : Problème Event
« Réponse #3 le: Juin 08, 2012, 09:30:02 am »
iota a raison, les événements permettent de détecter quand l'utilisateur appuis sur une touche, mais pas si la touche est appuyer. Il faut donc passer par la fonction sf::Keyboard::isKeyPressed();

 

anything