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

Auteur Sujet: [Résolu] Impossible d'utiliser SetImage dans une classe hérité  (Lu 2248 fois)

0 Membres et 1 Invité sur ce sujet

Shinao

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Bonsoir,

voici ma classe :

class Smoke : public sf::Sprite
{
    public:
        Smoke(int x, int y, int w, int h);
        bool update();
    private:
        int smokeFocused;
        sf::Clock lastUpdate;
};

J'instancie un objet Smoke, dans mon constructeur je lui met une image SetImage(JAG::vSmoke[0]);
Cela fonctionne, l'object a bien l'image et j'arrive à l'afficher.

Or, si j'utilise SetImage() dans ma méthode update() par example, mon sprite devient blanc, pourtant je peux accéder aux autres méthodes du genre GetPosition(), j'ai essayé d'updater la même image dans d'autre méthode, avec des images différentes etc... même chose.

Je pense pas que ça vient du fait que j'accède à une image dans une classe statique car j'y accéde au départ. Alors pourquoi ça foire dans les autres méthodes ?


Merci d'avance
« Modifié: Juillet 03, 2012, 08:58:25 pm par Shinao »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [Sprite] Impossible d'utiliser SetImage dans une classe hérité
« Réponse #1 le: Juillet 03, 2012, 08:07:48 pm »
Montre ta fonction update().
Laurent Gomila - SFML developer

Shinao

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : [Sprite] Impossible d'utiliser SetImage dans une classe hérité
« Réponse #2 le: Juillet 03, 2012, 08:39:22 pm »
J'ai réussi à résoudre le problème où je stagnais depuis une demi-journée, et c'était juste une mauvaise incrémentation de ma part, ça me donne envie de me flageller...

MAIS puisque je te tiens, j'aurais aimé savoir quelque chose :
Ma boucle qui me permet de draw() tous mes sprites et autres shapes, à certaines de mes classes j'envoie une référence de mon Application pour qu'ils puissent dessiner eux aussi les éléments qui les contiennent. Or j'aurais aimé déssiner la classe que j'appelle par elle-même.

Autrement dit en ce moment je fais ça :
p1.update(Input, App, p2, false);
p2.update(Input, App, p1, true);
App.Draw(p1);
App.Draw(p2);

Comment pourrais-je faire pour que p1 se dessine lui-même ? App.Draw(this) n'a pas l'air de fonctionné.

En tout cas, merci de ta présence ça fait plaisir.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : [Sprite] Impossible d'utiliser SetImage dans une classe hérité
« Réponse #3 le: Juillet 03, 2012, 08:53:24 pm »
this est un pointeur vers l'objet. Donc : App.Draw(*this).
Laurent Gomila - SFML developer

Shinao

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : [Sprite] Impossible d'utiliser SetImage dans une classe hérité
« Réponse #4 le: Juillet 03, 2012, 08:58:03 pm »
Bon et bien j'ai juste l'air stupide, comme quoi.

Je te remercie, bonne soirée.