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

Auteur Sujet: Problème avec rotate et scale  (Lu 1126 fois)

0 Membres et 1 Invité sur ce sujet

Saïcy

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Problème avec rotate et scale
« le: Septembre 06, 2014, 09:48:55 pm »
Bonsoir.

Je suis tout nouveau bien que j'utilise SFML depuis des mois. Jusqu'à là j'ai réussi à résoudre mes problèmes seule mais cette fois je me lance car je suis vraiment bloqué  :-X
setRotation() ou setScale() ne donnent pas le résultat voulu.

Le problème est que ces deux fonctions bougent le sprite, alors qu'on a pas demandé de move().
Par exemple avec rotate(), le sprite ne tourne pas sur lui même mais il se décale.
Pareil avec setScale().
Que faire ?

J'ai essayé setOrigine() mais c'est pareil:
int center_x = sprite.getLocalBounds().width/2,
        center_y = sprite.getLocalBounds().height/2;
    sprite.setOrigin(center_x,center_y);
    sprite.setScale(1.5,1.5); //setRotation(angle);

Le sprite est décalé vers le haut.
Merci d'avance.

G.

  • Hero Member
  • *****
  • Messages: 1592
    • Voir le profil
Re : Problème avec rotate et scale
« Réponse #1 le: Septembre 06, 2014, 10:05:44 pm »
Le sprite est positionné par rapport à son origine.
Si tu changes l'origine de ton sprite alors tu le vois se décaler, forcément, puisque son origine n'est plus la même. Donc quand tu positionnes ton sprite, prends en compte que tu as défini son origine au centre, pas au coin supérieur gauche.
« Modifié: Septembre 06, 2014, 10:26:36 pm par G. »

Saïcy

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re : Problème avec rotate et scale
« Réponse #2 le: Septembre 06, 2014, 11:34:14 pm »
En effet, ça marche maintenant. Merci :)