2017-05-15 3 views
1

Comment obtenir la largeur attendue de sf :: String lorsqu'elle est dessinée sur la fenêtre? Actuellement, je ne sais comment obtenir la hauteur de sf :: String, avec la méthode GetSize(). OBS: J'utilise SFML v1.6 sous Linux.SFML - Comment obtenir la largeur de corde attendue?

+1

Remarque: SFML 1.6 est * ancien *. Vous devriez vraiment passer à 2.4.2 à ce stade. –

+0

Oui, je l'utilisais parce qu'il était pré-installé sur le PC de l'université. – Hydren

Répondre

3

Selon le doc, sf::String a une fonction membre GetRect qui renvoie un sf::Rect<float>, avec un élément GetWidth().

float width = str.GetRect().GetWidth(); 
+0

George, votre réponse a presque réussi. 'GetRect(). GetWidth()' a fait l'affaire. Sur SFML 1.6, le champ 'largeur' était une méthode' GetWidth() 'à la place. – Hydren

+0

Mettez à jour la réponse, afin que je puisse la marquer comme étant une réponse. – Hydren

1

Vous pouvez passer par sf::Font::GetImage qui renvoie les glyphes dessinés de la police, et après vous pouvez utiliser sf::Image::GetWidth.

Aussi, sauf si vous avez une très bonne raison de rester avec 1.6, je vous suggère fortement de mettre à jour vers une version plus récente. 1.6 a plus de 7 ans. Ce n'est pas supporté et a quelques bugs.