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

Auteur Sujet: [help] Deplacer un sf::RectangleShape  (Lu 2123 fois)

0 Membres et 1 Invité sur ce sujet

Elekhyr

  • Invité
[help] Deplacer un sf::RectangleShape
« le: Mai 16, 2014, 09:18:29 pm »
Bonsoir ! J'ai commencé à faire un Blockbreaker en c++ avec sfml mais je bloque sur le déplacement du sf::RectangleShape, j'ai créé la fonction deplacer() de mon objet Paddle :


        if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left))
        {
                m_Rectangle.move(-10, 0);
        }
        else if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right))
        {
                m_Rectangle.move(10, 0);
        }
 

mais c'est très saccadé et j'aimerai un truc fluide (et il y a aussi un délai que j'aimerai enlever quand je presse la touche)

Pouvez vous m'aider ? :)

math1992

  • Jr. Member
  • **
  • Messages: 77
    • Voir le profil
    • E-mail
Re : [help] Deplacer un sf::RectangleShape
« Réponse #1 le: Mai 17, 2014, 06:09:30 am »
Il faudrait plus de code...

Cette partie se trouve t'elle dans la boucle des évènements, à l'extérieur de celle-ci, où ailleurs?


G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : [help] Deplacer un sf::RectangleShape
« Réponse #2 le: Mai 17, 2014, 09:36:44 am »
Essayez de prévenir quand vous crosspostez pour éviter aux gens qui aident de perdre du temps.  ;)

PtichapronRouge

  • Newbie
  • *
  • Messages: 41
    • Voir le profil
    • E-mail
Re : [help] Deplacer un sf::RectangleShape
« Réponse #3 le: Mai 17, 2014, 11:44:13 am »
je te conseille d'aller faire un tour par ici :
http://www.sfml-dev.org/tutorials/2.1/window-events-fr.php
et notamment de lire ce paragraphe (écrit en rouge) :
Citer
Parfois, les gens essayent de réagir directement à l'évènement KeyPressed pour créer des mouvements continus. Or, cela ne produira pas des mouvements continus mais plutôt saccadés : lorsque vous maintenez une touche vous n'obtenez en effet que quelques évènements (souvenez-vous du délai de répétition). Afin d'obtenir des mouvements fluides avec les évènements, vous devez utiliser un booléen mis à true lors de l'évènement KeyPressed et à false lors de l'évènement KeyReleased ; vous pouvez ensuite effectuer des déplacements (indépendamment des évènements) tant que le booléen est à true.
L'autre solution (plus simple) pour produire des movements continus est d'utiliser les entrées temps réel avec sf::Keyboard (voir le tutoriel dédié).
;)
Un coca, un ordinateur, et un livre SFML Game Development. Elle est pas belle la vie ?