Partage
  • Partager sur Facebook
  • Partager sur Twitter

La gestion des évenements n'en fait qua sa tête....

SFML

Sujet résolu
    27 mai 2008 à 20:46:31

    Hello
    Prenons un code simple !
    La fermeture de la fenêtre :

    if ((m_Event.Type == sf::Event::KeyPressed) && (m_Event.Key.Code == sf::Key::Escape))
    {
         *m_Running = false;
    }
    


    Le code est parfait, j'appuie sur [Echap]
    Hop ! Ma fenêtre se ferme. (magique !)

    Changeons mon code par celui-ci :

    if( m_Event.Type == sf::Event::Closed)
    {
         *m_Running = false;
    }
    


    J'ai a peine le temps de voir ma fenêtre quelle a déjà disparue o_O

    Devinez mon problème ^^ et en vous remerciant

    Précision je suis sous Linux/Kubuntu
    • Partager sur Facebook
    • Partager sur Twitter
      27 mai 2008 à 21:16:23

      Salut,
      Pourrais tu nous montrer ton code en entier ou du moins la partie ou se trouve la boucle qui gère les evenement
      • Partager sur Facebook
      • Partager sur Twitter
        27 mai 2008 à 21:19:55

        La SFML comporte quelques bugs gênants, en effet, mais c'est normale, elle est encore jeune. Avec un peu plus de maturité, elle devrait renverser concurrencer la SDL (si ce n'est pas déjà le cas).

        Quant au sf::Event::Closed, chez moi (mac osx) le compilo me sort que ça n'existe pas o_O
        • Partager sur Facebook
        • Partager sur Twitter
          27 mai 2008 à 22:28:18

          crayman : Aucune utilité que je la montre, la première solution marche parfaitement, il suffit juste que je remplace la ligne pour que l'application bugge, donc tu n'a vraiment pas besoin du reste,

          Gantho : Oui, je crois que c'est la seule raison, il faut croiser les doigts, donc je vais attendre encore un peut, peut-être que Laurent ou Hiura en sauront plus :)
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            27 mai 2008 à 22:40:35

            >ComteYunlaaw : SFML 1.2 ou svn?
            >Gantho : sf::Event::Closed n'existe pas sur OSX. Normal la SFML n'est qu'en 1.1 sur cet OS.

            Note : avec le svn, ou la prochaine version, tu peux/pourras utiliser :
            // Start the game loop
            while (App.IsOpened())
            {
                // Process events
                sf::Event Event;
                while (App.GetEvent(Event))
                {
                    // Close window : exit
                    if (Event.Type == sf::Event::Closed)
                        App.Close();
                }
            }
            

            Et ça fonctionne bien sur Linux [ version svn en tout cas ] .
            • Partager sur Facebook
            • Partager sur Twitter
              27 mai 2008 à 23:07:59

              Rien a faire, la SVN ne marche pas mieux...

              D'ailleur :
              undefined reference to `sf::Window::Close()


              Comme si rien n'avait changé....Je me débrouillerai sans la croix de fermeture en attendant une version qui corrigera ce problème ^^
              • Partager sur Facebook
              • Partager sur Twitter
                28 mai 2008 à 11:14:01

                Il y a un tutoriel sur le wiki SFML pour récupérer et compiler proprement les dernières sources via SVN ;)
                • Partager sur Facebook
                • Partager sur Twitter
                  28 mai 2008 à 11:20:31

                  Citation : ComteYunlaaw

                  Comme si rien n'avait changé...


                  Quand je parlais, que rien n'a changé, c'est que le résultat était le même, et la fonction proposée par Hiura n'était pas disponible.

                  En fait il y a eu des changements, les Sprites n'était plus utilisables, j'ai réinstallé l'ancienne, la stable, au moins, pas de problèmes.

                  (D'ailleurs, je vais peut-être compléter ce wiki, il ne parle que de Windows)
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    28 mai 2008 à 13:28:15

                    Tu as pu corriger ton erreur? [ Je vois que le sujet est résolu ... ]

                    Pour l'erreur de référence je soupçonne un problème de linkage.
                    • Partager sur Facebook
                    • Partager sur Twitter
                      28 mai 2008 à 13:34:13

                      Non, il n'est pas corrigé, j'attend, car je ne vois vraiment pas ce que je peux faire

                      Et le linkage, c'est juste certaines fonctions, hors, d'autres sont accessibles, donc ce n'est pas le linkage, ou pas de mon coté.
                      • Partager sur Facebook
                      • Partager sur Twitter
                      Anonyme
                        28 mai 2008 à 13:42:16

                        En principe, si tu as bien tout réinstallé tu devrais pas avoir ça. Réessaye.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        La gestion des évenements n'en fait qua sa tête....

                        × 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