Partage
  • Partager sur Facebook
  • Partager sur Twitter

SFML

2ème petit problème, sans doute le dernier ^^

    8 juin 2008 à 18:54:34

    Excusez-moi amis zéros... J'ai une autre petite question à vous poser à propos de SFML (voir mon précédent post)
    Voila : j'ai réussi à compiler et à éxécuter le premier programme du tuto SFML --> en console.
    Mais voila, j'aimerais maintenant passer au mode avec fenêtre... Et justement, je ne vois préciser nul part comment configurer son programme pour qu'il puisse créer des fenêtres SFML... Enfin si j'ai trouvé un truc mais je compernds pas vraiment ce que ça signifie...
    Si quelqu'un pouvait me guider pas à pas pour m'expliquer comment configurer son programme pour qu'il nous fasse une zoooolie fenêtre ;p
    Je remercie d'avance tous les zéros qui se donnent un mal fou à aider leurs compagnons de prog' ;)
    A++
    • Partager sur Facebook
    • Partager sur Twitter
      8 juin 2008 à 18:56:30

      Crée un objet sf::Window (module fenêtrage) ou sf::RenderWindows (module graphique)
      • Partager sur Facebook
      • Partager sur Twitter
        8 juin 2008 à 21:20:42

        Les tutos de la SFML ne sont pas classés dans un ordre de lecture comme le SdZ mais thémathiquement, comme dans une bibliotheque

        Donc tu dois lire :
        Tuto N°12 : Ouvrir une fenêtre
        Tuto N°16 : Utiliser les fenêtres de rendu
        • Partager sur Facebook
        • Partager sur Twitter
          9 juin 2008 à 18:34:23

          Merci mais... je l'ai lu ce truc! Je sais très bien comment ça fonctionne, simplement je ne sais pas ce qu'il faut dire à Code::Blocks pour faire une application en fenêtre lorsque je créé le programme : "console application", "Glut", "SDL", etc je vois pas quoi choisir, si quelqu'un pouvait m'expliquer, ce serait sympa!!
          • Partager sur Facebook
          • Partager sur Twitter
            9 juin 2008 à 18:41:09

            Tu ne lui indique rien de plus que d'habitude, et dans le tuto du site officiel, il t'explique quel option sont a passer au compilateur, et t'indique même comment le faire pour code::blocks.

            En espérant t'avoir été utile.
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              9 juin 2008 à 20:07:05

              Il y a effectivement quelque chose qui manque dans le tuto pour C::B :
              Laurent n'indique nul part comment créer une application fenêtrée sans avoir de console derrière. Il précise de faire un projet console, ce qui en met donc une.

              Sinon, la réponse de Pôle est la bonne. Le fait de créer un objet de type sf::Window (et enfant(s)) crée bien une fenêtre.

              Pour ne pas avoir cette "terrible" console, tu vas dans les options de ton projet, tu sélectionnes une cible (target) et du précise que c'est une application "GUI". Mais je te conseille de ne pas le faire avec la cible "Debug" car quand tu testeras ton programme tu seras contant d'avoir un terminal t'indiquant quelques petits erreurs. ;)
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                9 juin 2008 à 23:21:55

                Citation : Tutoriel Window

                Sous Windows, vous avez peut-être créé un projet "Application Windows", particulièrement si vous ne souhaitez pas voir apparaître une console. Dans ce cas, plutôt que de remplacer main par WinMain, vous pouvez lier avec la bibliothèque statique SFML_Main et ainsi garder un point d'entrée main portable et standard.



                C'etait bien indiqué ! =p
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  9 juin 2008 à 23:41:21

                  oups, ....
                  J'ai du survoler le tuto un peu vite >__<
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 juin 2008 à 18:39:25

                    statique:

                    tu doit
                    -linker

                    Citation : SFML

                    lsfml-system
                    lsfml-window ou lsfml-graphics



                    apres inclure SFML/[Graphics | Window] choisis un des deux

                    et ensuite
                    sf::Window app + arguments
                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 juin 2008 à 19:01:25

                      ah ba cool j'arrive à enlever la console et à créer mon application^^
                      Merci pour tout!!!!

                      EDIT : juste une ch'tite question ^^ c'est quoi la différence entre le mode grpahic et window?

                      EDIT 2: Est-ce que quelqu'un saurait pourquoi quand je veux prendre un screenshot ça ferme mon programme en sfml?

                      Le code :
                      #include <SFML/graphics.hpp>
                      
                      int main()
                      {
                            sf::RenderWindow App(sf::VideoMode(800, 600, 32), "SFML Graphics");
                          App.SetBackgroundColor (sf::Color (200,0,0));
                          bool Running = true;
                          while (Running)
                          {
                              sf::Event Event;
                               while (App.GetEvent(Event))
                              {
                                 
                                  if (Event.Type == sf::Event::Closed)
                                   {
                                      Running = false;
                                   }
                                
                                  if (Event.Type == sf::Event::KeyPressed)
                      
                                   {   
                                      if (Event.Key.Code == sf::Key::Escape)
                                          {
                                              Running = false;
                                          }
                                          if (Event.Key.Code == sf::Key::F1)
                                          {
                                              sf::Image Screen = App.Capture();
                                              Screen.SaveToFile("screenshot.jpg");
                                          }
                                   }
                                  }
                      
                              App.Display();
                      
                          }
                          return EXIT_SUCCESS;
                      }
                      

                      V'la ^^
                      Bon ok, le code est mal indenté, mais bon, c'est très simple à comprendre je suppose ;)
                      Ce qui est bizard c'est que c'est le même code que dans l'exemple alors...
                      Merci d'avance et...
                      A+ amis zéros!!
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        11 juin 2008 à 13:37:34

                        1 : lis les tutos officiel, tu auras des exemples.
                        2 : version 1.2 de la SFML ? c'est surement "normal" que ça plante. C'est en tout cas corrigé pour la future 1.3.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 juin 2008 à 13:44:57

                          oui il y a un probleme et sa renvoi EXIT_FAILURE je crois
                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 juin 2008 à 22:23:57

                            Oui, donc j'ai abandonné toute idée de prendre des screens... Si quelqu'un avait la solution, ce serait sympa de me la donner ^^
                            A++
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Anonyme
                              11 juin 2008 à 22:30:09

                              J'en ai une : patience.
                              La prochaine version est attendue dans les quelques semaines prochaines.

                              Si ma solution ne te satisfaits pas, tu peux prendre la version du SVN. (cf site officiel / wiki , tout est expliqué).
                              • Partager sur Facebook
                              • Partager sur Twitter

                              SFML

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown