Bonsoir tout le monde,
Je voulais implémenter un petit truc tout bête qui pourtant ne marche pas :
Je veux pouvoir contrôler le fade-in/out de mes textes, autrement dit je veux que leur composante alpha augmente doucement à la création du texte, puis qu'au bout d'un certain temps elle diminue jusqu'à atteindre de nouveau zéro.
Je le fais déjà avec un texte simple. Mais le procédé est assez lourd, je voudrais donc pouvoir encapsuler cette technique dans une classe que j'appellerais MyText.
Et bien, rien ne marche : Faire que MyText hérite de sf::Text, ou même simplement faire que MyText utilise en variable privée un sf::Text, rien ne plante mais le texte n'a pas l'air de se dessiner ! J'ai vérifié les valeurs des champs du texte, elles sont pourtant correctement assignées. Qu'est-ce qui ne va pas ?
Merci d'avance de votre réponse
Voici un bout de code :
MyText.h :
#ifndef MYTEXT_H
#define MYTEXT_H
#include "" // tout ce qu'il faut pour que le prog marche, je ne vais pas en faire la liste...
class MyText : public sf::Text {
public:
MyText(sf::Font, std::string, int, sf::Vector2f, sf::Color);
};
#endif
MyText.cpp :
#include "MyText.h"
using namespace std;
using namespace sf;
MyText::MyText(Font font, string str, int size, Vector2f pos, Color col)
: Text()
{
setFont(font);
setString(str);
setCharacterSize(size);
setPosition(pos.x-getGlobalBounds().width/2, pos.y-getGlobalBounds().height/2);
setColor(col);
}
Et dans mon main.cpp, je crée le texte comme ceci avant la boucle principale :
MyText text (font, "Coucou", 24, Vector2f(0, 0), Color::white);
Et je le draw simplement comme ceci à la fin de ma boucle principale :
App.draw(text);
Tout le reste de mon programme fonctionne bien, donc c'est pas un truc à la con genre j'ai mis le draw avant le clear ou un truc du genre...
Si vous avez une idée
(P.S : j'ai fait pas mal de changements dans mes fichiers, donc en fait ce que je viens de vous écrire comme code je ne l'ai pas testé je l'ai écrit de mémoire, donc pardonnez les fautes à la compil s'il y en a ^^)