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

Auteur Sujet: [Résolu] Problème de collision  (Lu 2141 fois)

0 Membres et 1 Invité sur ce sujet

MrDerkans

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
    • E-mail
[Résolu] Problème de collision
« le: Août 23, 2013, 05:11:46 pm »
Bonjour, Je suis entrain de me familiariser avec la SFML, pour cela je fait des test de collision. Donc j'initialise les rectangle englobant les image  avec un "FloatRect" comme ceci:
 sf::FloatRect test_Box= sprite.getGlobalBounds();
 sf::FloatRect Ballon_Box=ballon.getGlobalBounds();
Et je fait en sorte que lors des collisions un son s'enclenche comme ceci:
if (test_Box.intersects(Ballon_Box))  {
                sound.play();
            }
Cependant le son ne s'enclenche pas que je rapproche les 2 images mais que je bouge une des 2.
Pouvais-vous m'aider s'il vous plait ? ;D   
« Modifié: Août 25, 2013, 08:14:32 pm par MrDerkans »

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problème de collision
« Réponse #1 le: Août 23, 2013, 05:18:18 pm »
Tu réinitialises tes "Box" à chaque frame ?

MrDerkans

  • Newbie
  • *
  • Messages: 26
    • Voir le profil
    • E-mail
Re : Problème de collision
« Réponse #2 le: Août 23, 2013, 06:11:09 pm »
Non Comment je fais ça ?

G.

  • Hero Member
  • *****
  • Messages: 1593
    • Voir le profil
Re : Problème de collision
« Réponse #3 le: Août 23, 2013, 07:04:34 pm »
Ben si t'initialises juste tes box au lancement du jeu, et que tu ne changes plus jamais leurs valeurs, elles valent toujours la même chose même quand les sprites bougent.
Faut réactualiser leurs valeurs à chaque frame (= à chaque tour de la boucle de jeu). Donc tes 2 lignes genre "test_Box= sprite.getGlobalBounds()" faut qu'elles soient dans la boucle de jeu.

Ensuite étant donné que t'as pas donné plus de code c'était juste une supposition, on ne sait pas comment tu as fait ! Donc le problème peut tout à fait être ailleurs. ;)

 

anything