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

Auteur Sujet: Shape::getTexture() return NULL  (Lu 3418 fois)

0 Membres et 2 Invités sur ce sujet

gaulois94

  • Sr. Member
  • ****
  • Messages: 259
    • Voir le profil
Shape::getTexture() return NULL
« le: Mai 25, 2012, 09:46:44 pm »
Bonsoirs,

alors voila, je souhaite créer une image à partir d'une Shape (normale quoi :) ), et je rencontre un petit bug au niveau de Shape::getTexture() que je vais vous illustrer avec le code suivant :

sf::RectangleShape shape(sf::Vector2f(rect.width, title.getSize().y));
                shape.setFillColor(backgroundTitle); //backgroundTitle est une couleur reçu en paramètre de cette fonction
                shape.setPosition(getPosition().x, getPosition().y);

                sf::Sprite sprite;
                if(shape.getTexture()) //sa return NULL
                        sprite.setTexture(*(shape.getTexture()));

Voila, je pense que c'est tout ;) . Merci d'avance :)

ps : j'utilise la sfml2.0 (j'imagine que c'était simple à trouver, non ? :) ).

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Shape::getTexture() return NULL
« Réponse #1 le: Mai 25, 2012, 10:31:46 pm »
Je crois que t'as mal compris la chose. Le get/setTexture de sf::Shape a la même fonction que le get/setTexture de sf::Sprite, à savoir mapper la texture sur la forme. En l'occurence si tu ne fais pas un setTexture auparavant, getTexture renverra forcément NULL.

Citer
je souhaite créer une image à partir d'une Shape (normale quoi  )
Pas vraiment normal non ???
Laurent Gomila - SFML developer

gaulois94

  • Sr. Member
  • ****
  • Messages: 259
    • Voir le profil
Re : Shape::getTexture() return NULL
« Réponse #2 le: Mai 25, 2012, 10:33:57 pm »
Il n'est pas possible de transformer une sf::Shape en sf::Sprite ? Moi je pensais que le getTexture renvoie ce que contient graphiquement la Shape.

Orwel

  • Full Member
  • ***
  • Messages: 208
    • Voir le profil
Re : Shape::getTexture() return NULL
« Réponse #3 le: Mai 25, 2012, 11:22:47 pm »
En passant par un RenderTexture. Plus de renseignement sur la documentation  ;)

gaulois94

  • Sr. Member
  • ****
  • Messages: 259
    • Voir le profil
Re : Shape::getTexture() return NULL
« Réponse #4 le: Mai 25, 2012, 11:24:44 pm »
Ah ouai, c'est pas idiot comme moyen :D merci beaucoup ;) je vais de ce pas faire cette petite fonction ;)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Shape::getTexture() return NULL
« Réponse #5 le: Mai 26, 2012, 08:11:13 am »
Mais concrètement ça sert à quoi ? S'il existe différents objets graphiques, c'est pas pour tout ramener à des sprites.
Laurent Gomila - SFML developer

gaulois94

  • Sr. Member
  • ****
  • Messages: 259
    • Voir le profil
Re : Shape::getTexture() return NULL
« Réponse #6 le: Mai 26, 2012, 12:54:42 pm »
Sa m'évite de me trimbaler différents type de Drawable (tout en pouvant les modifié). Pour un bouton, je peux très bien me servir d'un sprite comme d'un shape, pourtant je ne vais pas mettre un sprite et un shape en attribut. Je ramène donc le tout au sprite ;) (tout en faisant des modifications très basiques propre aux sprites).

Mais bon, j'ai pu faire en sorte de résoudre mon problème avec un simple sf::Sprite (un rectangle en couleur ;) ).
« Modifié: Mai 26, 2012, 01:05:58 pm par gaulois94 »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Shape::getTexture() return NULL
« Réponse #7 le: Mai 26, 2012, 02:26:57 pm »
Et pourquoi pas l'inverse ? Un sprite n'est qu'un shape particulier.
Laurent Gomila - SFML developer

gaulois94

  • Sr. Member
  • ****
  • Messages: 259
    • Voir le profil
Re : Shape::getTexture() return NULL
« Réponse #8 le: Mai 26, 2012, 02:29:12 pm »
Parce que j'utilise beaucoup plus les Sprites que les Shapes. Mais sur le fond, c'est vrai que je peux faire d'un Sprite un Shape, m'enfin je préfère réserver le sprite pour tout ce qui est purement graphics, et le Shape pour les formes ;) .