Forum de la communauté SFML
Aide => Graphique => Discussion démarrée par: Assouan le Avril 01, 2012, 05:20:21 pm
-
Par exemple, si j'ai un texte, en position 100,100 (et je veux lui créer un décalage de 50,50) pour qu'il s'affiche en 150,150
Et bien je dois faire : SetOrigin(-50,-50);
Au lieu de : SetOrigin(50,50);
Es-ce normal que sa fonctionne inversement ?
-
Oui, car tu attaques la mauvaise propriété. Il faut changer la position, pas l'origine.
-
Bonjour,
Tiens justement...
J'utilise le code ci-dessous pour centrer une lettre sur la position demiL, demiH.
Le centrage horizontal est correct mais le centrage vertical est mauvais et différent selon que la lettre est ronde (O, Q C) ou non.
sf::Glyph glyph = myFont.getGlyph( (sf::Uint32)myString[0], myText.getCharacterSize(), false);
sf::IntRect r = glyph.bounds;
myText.setPosition(demiL - (r.width - r.left)/2 - r.left, demiH + (r.top - r.height)/2 );
Quelle est la bonne méthode et à quoi correspond, du point de vue position r.top et r.left (r = glyph.bounds)
Je poste ici car il me semble que nous nous posons la même question.
-
Oui, car tu attaques la mauvaise propriété. Il faut changer la position, pas l'origine.
Alors à quoi sert la fonction Origin ?
Bonjour,
Tiens justement...
J'utilise le code ci-dessous pour centrer une lettre sur la position demiL, demiH.
Le centrage horizontal est correct mais le centrage vertical est mauvais et différent selon que la lettre est ronde (O, Q C) ou non.
sf::Glyph glyph = myFont.getGlyph( (sf::Uint32)myString[0], myText.getCharacterSize(), false);
sf::IntRect r = glyph.bounds;
myText.setPosition(demiL - (r.width - r.left)/2 - r.left, demiH + (r.top - r.height)/2 );
Quelle est la bonne méthode et à quoi correspond, du point de vue position r.top et r.left (r = glyph.bounds)
Je poste ici car il me semble que nous nous posons la même question.
Pourquoi ne pas simplement faire :
myText.SetPosition(demiL - (myText.GetGlobalBounds().Width / 2), demiH - (myText.GetGlobalBounds().Height / 2));
-
Alors à quoi sert la fonction Origin ?
L'origine ne modifie pas uniquement la position, mais aussi les rotations.
Moi je l'utilise pour superposer mes objets physiques et graphiques.
-
Alors à quoi sert la fonction Origin ?
C'est marqué dans la doc non ? :P
Je poste ici car il me semble que nous nous posons la même question.
Pas vraiment non. C'est malin, maintenant on a deux problèmes mélangés, et j'ai la flemme de les démêler.
-
Aaaah oui, d’accord ! c'est comme SetCenter de la version 1.6 !
Sa permet de dire d'où la position ou rotation et ... se fait ^^
Merci !
-
de Laurent
Pas vraiment non. C'est malin, maintenant on a deux problèmes mélangés, et j'ai la flemme de les démêler.
Ok, je crée un nouveau post... (http://www.sfml-dev.org/forums/Smileys/default/embarrassed.gif)