Forum de la communauté SFML
Bindings - autres langages => C => Discussion démarrée par: ypcman le Novembre 24, 2023, 02:49:36 pm
-
Bonjour.
Je cherche, non pas à faire une rotation autour d'un point, mais selon un axe. Typiquement avec un personnage qui marche vers la droite, je voudrais obtenir le même personnage mais marchant vers la gauche.
Or, je ne trouve que sfSprite_setRotation() ou sfSprite_rotate() qui font tourner le sprite d'un certain angle autour du point origine, mais rien qui inverse horizontalement ou verticalement le sprite.
Comment faire ?
-
Si je me souviens bien t'as au moins 2 façons potentielles de faire ça.
(je connais pas la syntaxe en C donc à adapter)
avec sprite setScale (https://www.sfml-dev.org/documentation/2.6.1-fr/classsf_1_1Transformable.php#aaec50b46b3f41b054763304d1e727471), si scale négativement ton sprite, ça donnera un effet retourné. Par exemple setScale(-1, 1) bah au lieu d'être orienté vers la droite il sera vers la gauche
avec sprite setTextureRect (https://www.sfml-dev.org/documentation/2.6.1-fr/classsf_1_1Sprite.php#a3fefec419a4e6a90c0fd54c793d82ec2), au lieu de partir du coin haut gauche et d'avoir une largeur de w, tu pars du coin haut droite avec une largeur de -w