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

Auteur Sujet: Fonction fenêtre ne fonctionne pas.  (Lu 3094 fois)

0 Membres et 1 Invité sur ce sujet

lionel626

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Fonction fenêtre ne fonctionne pas.
« le: Juillet 19, 2014, 10:47:04 am »
Bonjour,
je débute avec SFML est je me suis créer une classe qui va géré la fenêtre plus autre chose.
Voila a quoi ressemble ma classe.

class Scene
{
    public:
        Scene(std::string titreFenetre, int largeurFenetre, int hauteurFenetre);

        void bouclePrincipale();
        ~SceneOpengl();


    private:
        std::string m_titre;
        int m_largeurFenetre;
        int m_hauteurFenetre;
        sf::RenderWindow m_window;

};
 
et voila ma fonction boucle principale
void SceneOpengl::bouclePrincipale()
{
    m_window.setSize(sf::Vector2u(m_largeurFenetre,m_hauteurFenetre));
    m_window.setTitle(m_titre);
 
    while (m_window.isOpen())
    {
       
        sf::Event event;
        while (m_window.pollEvent(event))
        {
         
            if (event.type == sf::Event::Closed)
                m_window.close();
        }
   
        m_window.display();
        m_window.clear();

    }


}
 
quand j'initialise dans ma fonction main sa lance la console mais pas la fenêtre.
Je ne sais pas ou est le problème.
Merci d'avance.

nicox11

  • Jr. Member
  • **
  • Messages: 51
    • Voir le profil
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #1 le: Juillet 19, 2014, 01:03:09 pm »
Tu déclares ta classe Scene puis ça devient ensuite SceneOpengl ? J’avoue ne pas trop comprendre.

lionel626

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #2 le: Juillet 19, 2014, 02:00:24 pm »
oui normalement ma classe s'appelle sceneOpengl mes j'ai changer puisque j'ai enlever mais fonction opengl pour voir les erreurs

lionel626

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #3 le: Juillet 19, 2014, 02:01:45 pm »
mais dans mon code j'ai pas erreur de frappe ou faute.C'est moi j'ai mal copier.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #4 le: Juillet 19, 2014, 03:00:22 pm »
Et on peut voir le constructeur ainsi que le main(), ou bien c'est secret ? ;)
Laurent Gomila - SFML developer

lionel626

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #5 le: Juillet 19, 2014, 04:16:16 pm »
stl, non c'est pas un secret mais pour tous dire je suis un tutorielle sur opengl mais dans le tuto il utilise la SDL alors je convertie le code en SFML le but est de créer une classe pour gérer la fenêtre et avec une méthode pour la fenêtre et une pour la boucle principale et les attributs sont la hauteur et la largeur de la fenêtre le titre, moi j'ai rajouté sf::RenderWindow m_window; comme attribut pour initialisé une fenêtre SFML; puis dans une méthode j'attribut les valeur de hauteur, largeur et titre a ma fenêtre puis sa ne fonctionne pas voici mon code complet avec tous :
SceneOpengl.h
class SceneOpengl
{
    public:
        SceneOpengl(std::string titreFenetre, int largeurFenetre, int hauteurFenetre);
        void initializerFenetre();
        void bouclePrincipale();
        ~SceneOpengl();


    private:
        std::string m_titre;
        int m_largeurFenetre;
        int m_hauteurFenetre;
        sf::RenderWindow m_window;

};
 

sceneOpengl.cpp
SceneOpengl::SceneOpengl(std::string titreFenetre, int largeurFenetre, int hauteurFenetre): m_titre(titreFenetre), m_largeurFenetre(largeurFenetre),
m_hauteurFenetre(hauteurFenetre)
{

}

SceneOpengl::~SceneOpengl()
{
    //dtor
}

void SceneOpengl::initializerFenetre()
{
       m_window.setSize(sf::Vector2u(m_largeurFenetre,m_hauteurFenetre));
    m_window.setTitle(m_titre);
    glewInit();
}

void SceneOpengl::bouclePrincipale()
{
   
    float sommets [] = {-0.5, -0.5,   0.0, 0.5,   0.5, -0.5};
    while (m_window.isOpen())
    {
     
        sf::Event event;
        while (m_window.pollEvent(event))
        {
           
            if (event.type == sf::Event::Closed)
                m_window.close();
        }
        glVertexAttribPointer(0,2,GL_FLOAT,GL_FALSE,0,sommets);
        glEnableVertexAttribArray(0);
        glDrawArrays(GL_TRIANGLES,0,3);
        glDisableVertexAttribArray(0);

        m_window.display();
        m_window.clear();

    }


}
 

et moin main.cpp


int main()
{

SceneOpengl maFenetre("maFenetre",800,800);

    maFenetre.bouclePrincipale();

    return 0;
}

 

Je sais pas si j'ai était bien claire et le code se compile sans érreur mais il y a que la console qui se lance pas la fenêtre.
Merci de vos réponse.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #6 le: Juillet 19, 2014, 04:22:22 pm »
Il manque un truc très important dans ce code : la création de la fenêtre...
Laurent Gomila - SFML developer

lionel626

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #7 le: Juillet 19, 2014, 05:55:10 pm »
Mercie je n'est jamais était aussi stupide :-[.
Merci beaucoup.

lionel626

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #8 le: Juillet 19, 2014, 05:57:10 pm »
Re-bonsour;
Aussi je n'est pas l'habitude d'aller sur des forum comment on mets un poste résolue.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #9 le: Juillet 19, 2014, 06:16:17 pm »
Il n'y a rien de spécial pour ça sur ce forum. Au pire si tu veux tu peux éditer le titre, dans ton premier post, pour ajouter un "[Résolu]", mais ce n'est pas obligatoire.
Laurent Gomila - SFML developer

lionel626

  • Newbie
  • *
  • Messages: 18
    • Voir le profil
Re : Fonction fenêtre ne fonctionne pas.
« Réponse #10 le: Juillet 19, 2014, 06:29:00 pm »
ok merci.