Forum de la communauté SFML

Aide => Général => Discussion démarrée par: tigrolobez le Décembre 01, 2015, 03:31:56 pm

Titre: référence sur window
Posté par: tigrolobez le Décembre 01, 2015, 03:31:56 pm
Salut , jai un soucis avec l'affichage de mes sprite.
je suis sur window avec visual studio.
j'ai une classe Space qui a une fonction dans la quel je passe en parament ma renderwindow en réf.

void   Space::display(sf::RenderWindow &w)
{
   w.draw(_s_background);
}

juste mon sprite saffiche pas, et aussi visual studio me grise le "w" comment si je l'utilisé pas...
Titre: Re : référence sur window
Posté par: RMath le Décembre 01, 2015, 04:44:12 pm
Salut, je pense que le problème vient du fait que tu passe l'adresse  ( & ) de ta fenêtre au lieu de ça valeur ( * ) Moi si j'ai besoin de passer ma sf::window en paramètre je crée un pointeur sur windows que j'utilise ou je veux dans mon objet.   

J'espère avoir bien expliquer ^^
Titre: Re : référence sur window
Posté par: tigrolobez le Décembre 01, 2015, 04:52:22 pm
mmmm je viens de teste c'est parreil
mon w est toujours pas reconnu par visual studio. (grisé)
et l'image ne saffiche toujours pas..
mais merci pour l'idée
Titre: Re : référence sur window
Posté par: RMath le Décembre 01, 2015, 05:06:16 pm
Ok, tu as bien crée ton pointer ? Puis mise à jour ton constructeur ?
Titre: Re : référence sur window
Posté par: tigrolobez le Décembre 01, 2015, 06:24:28 pm
oui pour le pointer.
et ques tu entends par mise à jour ton constructeur?

Enfaite je load bien la texture. et quand je veux l'affiché ça affiche un écran tout blanc
et si je commente l'affichage l'écran et juste tout noir..
Titre: Re : référence sur window
Posté par: RMath le Décembre 01, 2015, 06:30:11 pm
Poste ton code source stp.
Titre: Re : référence sur window
Posté par: tigrolobez le Décembre 01, 2015, 06:33:42 pm
#include "graphic.h"

graphic::graphic()
{
        _window = new sf::RenderWindow(sf::VideoMode(200, 200), "R-Type");
}


graphic::~graphic()
{
}

void                    graphic::run()
{
        while (_window->isOpen())
        {
                update();
                display();
        }
}

void                    graphic::update()
{
        while (_window->pollEvent(_event))
        {
                if ((_event.type == sf::Event::Closed)
                        || ((_event.type == sf::Event::KeyPressed)
                        && (_event.key.code == sf::Keyboard::Escape)))
                        _window->close();
        }
        _background.update();
}

void                    graphic::display()
{
        _window->clear();
        _background.display(_window);
        _window->display();
}



#include "Space.h"
#include <iostream>

Space::Space()
{
        _x = 0;
        sf::Texture a;
        if (!a.loadFromFile("be.png"))
                exit(1);
        _s_background.setTexture(_t_background);
        _s_background.setPosition(0, 0);
}


Space::~Space()
{
}

void    Space::update()
{
        _x += 2;
        _s_background.setTextureRect(sf::IntRect(_x, 0, 1920 + _x, 1080));
}

void    Space::display(sf::RenderWindow *w)
{
        w->draw(_s_background);
}
Titre: Re : référence sur window
Posté par: tigrolobez le Décembre 01, 2015, 06:39:35 pm
Omg j'ai compris , je suis horrible... désolé
a c'est pas mon _t_background... ohlalala
ça daté de mes test d'avant j'ai complétement oublié de le viré...
Titre: Re : référence sur window
Posté par: RMath le Décembre 01, 2015, 06:43:56 pm
^^
(Pense à mettre le sujet en résolu)