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

Auteur Sujet: [Résolu !] Problème d'affichage d'une image  (Lu 1796 fois)

0 Membres et 1 Invité sur ce sujet

Tyr

  • Newbie
  • *
  • Messages: 23
    • Voir le profil
[Résolu !] Problème d'affichage d'une image
« le: Février 01, 2013, 05:07:18 pm »
Rebonjour ^^
Je cherche à afficher une image là où est supposée apparaître la souris, cependant... Un screen sera plus parlant ^^" :



Le rectangle bleu est supposé être cette image :



Voici le code en question (je ne mets que les parties relatives à l'affichage de l'image pour davantage de clarté). Update et draw sont appelées en boucle, et l'objet cursor est une instance de la classe Sprite.

#include "SceneManager.h"

SceneManager::SceneManager(RenderWindow *app)
{
    // Initialisation
    this->app = app;

    // Icône de la souris
    Image curs;
    curs.LoadFromFile("Graphics/Pictures/Cursor.png");
    this->cursor.SetImage(curs); // cursor est un Sprite !
}

void SceneManager::update()
{
    // Màj des coordonnées du curseur
    this->cursor.SetPosition(this->app->GetInput().GetMouseX(), this->app->GetInput().GetMouseY());

    // ...
}

void SceneManager::draw()
{
    // Efface l'écran (remplissage avec du blanc)
    this->app->Clear(Color(255, 255, 255));

    // Affichage de la souris
    this->cursor.SetColor(Color(0, 255, 255, 128));
    this->app->Draw(this->cursor);

    // Affichage du contenu de la fenêtre à l'écran
    this->app->Display();
}
« Modifié: Février 01, 2013, 06:29:09 pm par Tyr »

Hiura

  • SFML Team
  • Hero Member
  • *****
  • Messages: 4321
    • Voir le profil
    • E-mail
Re : Problème d'affichage d'une image
« Réponse #1 le: Février 01, 2013, 06:11:58 pm »
L'object 'curs' est détruit à la fin de la portée (ici le constructor) donc la texture n'est plus valide. Il faut que tu prolonges la vie cette variable (e.g. en la déclarant en tant qu'attribut).
SFML / OS X developer

Tyr

  • Newbie
  • *
  • Messages: 23
    • Voir le profil
Re : Problème d'affichage d'une image
« Réponse #2 le: Février 01, 2013, 06:28:54 pm »
Ah oui, effectivement.
C'est d'autant plus étrange que j'ai pu créer l'icône de la fenêtre de cette manière ^^

Enfin... Problème résolu ! ^_^

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : [Résolu !] Problème d'affichage d'une image
« Réponse #3 le: Février 01, 2013, 10:51:47 pm »
L'icône de la fenêtre, c'est tout autre chose. Une fois que tu as passé les pixels à SFML, tu n'as plus besoin de les garder.
Laurent Gomila - SFML developer