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

Auteur Sujet: Pointeur "RenderTexture" : possible?  (Lu 1916 fois)

0 Membres et 1 Invité sur ce sujet

Armulis

  • Newbie
  • *
  • Messages: 33
    • Voir le profil
Pointeur "RenderTexture" : possible?
« le: Octobre 14, 2014, 10:00:13 pm »
Salut!
J'essais d'afficher une image construite sur une RenderTexture, mais il n'y a pas moyen de passer le compilateur sans rencontrer des messages d'erreur d'un kilomètre.
Voici la ligne qui pose problème:
spriteLayer.setTexture(*layers[0][index].RENDERTEXTURE.getTexture());
C'est compliqué, alors j'explique.
"spriteLayer" est un "sf::Sprite".
"layers[0][index].RENDERTEXTURE" est le produit de la structure suivante:
struct LAYER { int NUMERO_PLAN; RenderTexture * RENDERTEXTURE };
...et du conteneur suivant:
array < array < LAYER, 7>, 2>

Je ne comprends pas pourquoi je ne peux pas utiliser ça, puisqu'ailleurs dans le même programme, il y a ceci qui fonctionne très bien:
diaphragme.setTexture(noir.getTexture());
"diaphragme" est un "sf::Sprite"
"noir" est un "sf::RenderTexture".
La seule différence, c'est le pointeur. Est-ce que SFML n'est pas faite pour travailler avec des pointeurs?
« Modifié: Octobre 14, 2014, 10:27:46 pm par Armulis »

kimci86

  • Full Member
  • ***
  • Messages: 128
    • Voir le profil
Re : Pointeur "RenderTexture" : possible?
« Réponse #1 le: Octobre 14, 2014, 10:23:10 pm »
Bonsoir,
L'opérateur . est prioritaire par rapport au *.
http://fr.cppreference.com/w/cpp/language/operator_precedence

Soit on rajoute des parenthèses, soit on utilise l'opérateur -> qui est fait pour ça.

Armulis

  • Newbie
  • *
  • Messages: 33
    • Voir le profil
Re : Pointeur "RenderTexture" : possible?
« Réponse #2 le: Octobre 14, 2014, 10:28:06 pm »
Comme ça?
spriteLayer.setTexture((*layers[0][index].RENDERTEXTURE).getTexture());

Oui, ça a l'air de marcher... Je savais pas ça sur la priorité des opérations. Merci beaucoup!
« Modifié: Octobre 14, 2014, 10:31:32 pm par Armulis »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Pointeur "RenderTexture" : possible?
« Réponse #3 le: Octobre 14, 2014, 10:42:04 pm »
spriteLayer.setTexture(layers[0][index].RENDERTEXTURE->getTexture());
Laurent Gomila - SFML developer

 

anything