Je suis en train de coderune classe qui permet de charger les images plus facilement mais j'ai un problème :
Lorsque j'affiche les sprites, je me retrouve avec une fenetre blanche.
Simple: ton instance de sf::Image est déclarée localement. A la fin de la fonction, elle est suprimmée. La fonction setImage ne crée pas de copie de l'image dans le sprite: elle lui envoie juste un pointeur. Aussi, a la fin de la fonction, ton instance de sf::Image est détruite; ton sf::sprite garde un pointeur sur un objet qui a été détruit.
Il faut que ton instance de sf::Image persiste au momment ou tu affiche ton sprite. C'est dans la classe sf::image, et dans rien d'autre, qu'est stockée ton image.
Si tu veux simplifier le chargement d'image, essaye ca:
class img_sprite : sf::Sprite, sf::Image
{
public:
img_sprite();
~img_sprite();
void Load(std::string chemin);
}
void img_sprite::Load(std::string chemin)
{
LoadFromFile(chemin);
setSmooth(false);
setImage(*this);
}
En modifiant selon tes besoins.
Cordialement,
Loumnam.
[SFML] Passer un sprite en référance à un membre statique
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.