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

Auteur Sujet: sf::Text dans une classe héritant de sf::RectangleShape  (Lu 2278 fois)

0 Membres et 1 Invité sur ce sujet

Mysterystem

  • Newbie
  • *
  • Messages: 9
  • Colorful Power !
    • Voir le profil
sf::Text dans une classe héritant de sf::RectangleShape
« le: Juin 22, 2013, 02:28:57 pm »
Bonjour à tous !

J'ai programmé une classe héritant de sf::RectangleShape et j'aimerais afficher un sf::Text dans ce sf::RectangleShape, malheureusement j'en ai aucune idée de comment faire.

Quelqu'un peut m'aider s'il vous plait ?

Ma classe héritant de sf::RectangleShape :
#include "NotifBarre.h"
 
NotifBarre::NotifBarre() : sf::RectangleShape(sf::Vector2f(400, 50)){
    sf::RectangleShape::setFillColor(sf::Color(255, 255, 255, 100));
    sf::RectangleShape::setOutlineThickness(1);
    sf::RectangleShape::setOutlineColor(sf::Color(200, 200, 200, 200));
 
    sf::RectangleShape::setPosition(sf::Vector2f(0, 0));
 
    m_text_notif.setString("TEST LOLOLOLO");
    m_text_notif.setColor(sf::Color::White);
    m_text_notif.setCharacterSize(16);
    m_text_notif.setPosition(sf::Vector2f(25, 57));
    m_text_notif.setStyle(sf::Text::Bold | sf::Text::Underlined);
 
}
NotifBarre::~NotifBarre(){}
 
void NotifBarre::setText(std::string text){
    m_text_notif.setString(text);
}

Merci d'avance pour ceux qui m'aideront !

P.S : j'affiche la classe en créant une instance et en faisant window.draw(monInstance);

Mysterystem

  • Newbie
  • *
  • Messages: 9
  • Colorful Power !
    • Voir le profil
Re : sf::Text dans une classe héritant de sf::RectangleShape
« Réponse #1 le: Juin 23, 2013, 08:08:57 pm »
Je me permet de up, s'il vous plaît, dîtes moi si c'est simplement impossible :(

Hiura

  • SFML Team
  • Hero Member
  • *****
  • Messages: 4321
    • Voir le profil
    • E-mail
Re : sf::Text dans une classe héritant de sf::RectangleShape
« Réponse #2 le: Juin 23, 2013, 08:35:39 pm »
Le problème avec cet héritage est que quand tu vas déplacer ton rectangle (avec `setPosition` par exemple) le texte lui ne va pas bouger.. pour mentionner que ce problème.

A la place, hérite de Drawable (avec éventuellement Transformable si tu as besoin de ses fonctionnalités) et fait une aggregation avec un Text et un RecangleShape. Le design sera plus clean comme ça, AMHA.

Tu as un exemple ici : http://www.sfml-dev.org/documentation/2.0/classsf_1_1Transformable.php
« Modifié: Juin 23, 2013, 08:37:33 pm par Hiura »
SFML / OS X developer

Mysterystem

  • Newbie
  • *
  • Messages: 9
  • Colorful Power !
    • Voir le profil
Re : sf::Text dans une classe héritant de sf::RectangleShape
« Réponse #3 le: Juin 23, 2013, 09:37:26 pm »
Ah merci !

Je me demandais si il fallait passer par sf::Drawable et merci de m'avoir apporté la réponse :D

J'ai donc appliqué la solution et ça marche nickel !

 

anything