Bonjour à tous,
pour la programmation d'un petit jeu de type point and click, je chercher à faire afficher une box autour d'un texte, de manière à le rendre plus lisible.
J'ai fait ce code :
Texture texture;
string image = "./images/";
image += modele->getCarte()->getLieu().image;
texture.loadFromFile(image);
Sprite sprite;
sprite.setTexture(texture);
maFenetre->clear();
maFenetre->draw(sprite);
RectangleShape box =RectangleShape (Vector2f(12*modele->getMessage()->texte.size(),36));
box.setFillColor (Color(0,0,0,128));
box.setPosition(modele->getMessage()->coord.x-6, modele->getMessage()->coord.y-3);
maFenetre->draw(box);
sf::Text text;
text.setFont(fonts[0]);
text.setString(modele->getMessage()->texte);
text.setCharacterSize(24);
text.setPosition(modele->getMessage()->coord.x, modele->getMessage()->coord.y);
maFenetre->draw(text);
Ca ne marche pas si mal que ça, sauf que le texte n'est jamais bien entouré : Selon les caractères que j'utilise, ma formule :
12*modele->getMessage()->texte.size()va créer une box trop large ou trop étroite.
Y-a-t'il une solution pour calculer correctement la taille qu'un texte va prendre sur l'écran?