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

Auteur Sujet: Création de deux fenêtres problème d'évènements.  (Lu 6307 fois)

0 Membres et 1 Invité sur ce sujet

lo7601

  • Invité
Création de deux fenêtres problème d'évènements.
« le: Janvier 05, 2019, 12:59:36 am »
Salut voici un code simple qui reproduit le bug :
#include <SFML/Graphics.hpp>
#include <iostream>
#include <memory>
using namespace sf;
int main() {
    RenderWindow w1 (sf::VideoMode(800, 600), "test1");
    RenderWindow w2 (sf::VideoMode(800, 600), "test2");
    while (w1.isOpen()) {
        sf::Event event;
        while(w2.pollEvent(event)) {
            if (event.type == sf::Event::Closed) {
                w1.close();
                w2.close();
            }
            if (event.type == sf::Event::KeyReleased)
                std::cout<<"key released"<<std::endl;
            if (event.type == sf::Event::KeyPressed)
                std::cout<<"key pressed"<<std::endl;
        }
    }
}
 

Lors de l'appui sur une touche il m'affiche plusieurs fois key released et keypressed ce qui n'est pas normal.
Je savais que SFML était bugué surtout lors de la création de plusieurs fenêtres.

kimci86

  • Full Member
  • ***
  • Messages: 128
    • Voir le profil
Re: Création de deux fenêtres problème d'évènements.
« Réponse #1 le: Janvier 05, 2019, 01:22:00 pm »
Tout d'abord, il manque une boucle d'évènement pour la fenêtre w1.

Citation de: tutoriel "Ouvrir et gérer une fenêtre SFML"
Une erreur que les gens font souvent est d'oublier de mettre une boucle d'évènements, car ils n'en ont pas besoin (ils utilisent les entrées temps réel à la place, typiquement). Mais sans gestion d'évènement la fenêtre ne sera pas réactive ; en effet, la boucle d'évènement a deux rôles : en plus de fournir les évènements à l'utilisateur, elle permet à la fenêtre de traiter ses évènements internes, ce qui est impératif a son bon fonctionnement.

Quelle plateforme utilises-tu ? Je n'arrive pas à reproduire le problème sur Ubuntu.

lo7601

  • Invité
Re: Création de deux fenêtres problème d'évènements.
« Réponse #2 le: Janvier 05, 2019, 02:26:18 pm »
Ha bah ok comme ça sa marche mieux comme ça, ok donc le bug dans mon projet c'est sûrenement le fait qu'il ne rentre pas dans la boucle d'évènement de plus ma seconde fenêtre je la mets invisible ...