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

Auteur Sujet: Problème avec setTextureRect  (Lu 1798 fois)

0 Membres et 1 Invité sur ce sujet

supermael

  • Jr. Member
  • **
  • Messages: 50
    • Voir le profil
Problème avec setTextureRect
« le: Août 20, 2012, 10:50:10 am »
Bonjour !
J'ai un petit problème avec setTextureRect (j'utilise la SFML 2.0) que j'utilise pour afficher mes tiles d'un tileSet.
En général, tout fonctionne bien, excepté que de temps en temps (uniquement lorsque je déplace la view), le TextureRect de mes tiles semblent se déplacer d'un pixel (dans le sens de déplacement de la caméra il me semble) et du coup j'obtiens de vilains effets. Ce problème ne dure même pas une demi-seconde, mais reviens régulièrement.
Lorsque je ne déplace pas la view, il n'y a aucun problème. Je ne modifie jamais le textureRect des sprites excepté lors de leur création.  Ce problème n'apparaît vraiment que lorsque je déplace la caméra.

Je n'ai pas encore réussi à déterminer exactement quand le problème apparaissait lors des déplacements..
Je ne sais pas si le code source serait vraiment utile, il s'agit d'un view.move(...), d'un setTextureRect à la création du sprite, et d'un app.draw(sprite)... Mais si besoin s'en fait je le mettrai ici.

Si quelqu'un à une idée de comment résoudre mon problème, je l'en remercie d'avance !

Supermael.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Problème avec setTextureRect
« Réponse #1 le: Août 20, 2012, 08:39:19 pm »
Ce n'est pas un bug, c'est une feature ;D

Si tu veux éviter ça, utilise des coordonnées entières pour ta vue.
Laurent Gomila - SFML developer

supermael

  • Jr. Member
  • **
  • Messages: 50
    • Voir le profil
Re : Problème avec setTextureRect
« Réponse #2 le: Août 21, 2012, 12:46:38 pm »
Je m'attendais à une fourberie de ce genre et avais déjà passé les autres coordonnées (centre su sprite etc...) en entier pour voir si ce n'était pas ça qui foirait  ;D

En tout cas ça marche nickel du coup, merci beaucoup !