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

Auteur Sujet: problème avec fullscreen  (Lu 2978 fois)

0 Membres et 1 Invité sur ce sujet

mazertys17

  • Full Member
  • ***
  • Messages: 123
    • Voir le profil
    • E-mail
problème avec fullscreen
« le: Novembre 04, 2014, 11:21:45 am »
Bonjour.

J'ai un problème avec le sf::Style::Fullscreen: je le lance dans une boucle via un objet affichage.afficher(). Ca fonctionne bien mais, au bout de quelques secondes, il plante.
Voici des extraits de mon code:

int ObjetDexemple::jouer()
{
afficheur.charger();
while (!stopExemple)
{
afficheur.afficher();
}
}

void Affichage::charger()
{

    fenetre.create(sf::VideoMode(1600, 900), "My window", sf::Style::Fullscreen);

    image.loadFromFile("images/fond1.png");
    spriteImage.setTexture(image);

}



void Affichage::afficher()
{

        fenetre.clear(sf::Color::Black);

        fenetre.draw(spriteImage);

        fenetre.display();
}


J'ai la même résolution sur mon bureau que celle demandé en fullscreen, c'est à dire 1600x900. Dans une fenêtre normal, cela fonctionne sans planter.

Merci si vous pouvez m'aider.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : problème avec fullscreen
« Réponse #1 le: Novembre 04, 2014, 12:47:06 pm »
Utilise ton debugger, ça sert à ça.

Sinon : http://sscce.org/
Laurent Gomila - SFML developer

mazertys17

  • Full Member
  • ***
  • Messages: 123
    • Voir le profil
    • E-mail
Re : problème avec fullscreen
« Réponse #2 le: Novembre 04, 2014, 03:04:09 pm »
Bonjour, et merci pour votre réponse.

chose étonnante, lorsque j'utilise le debugger, le programme marche sans planter. Je le lance normalement, et il replante au bout de quelques secondes.

Enfin il plante bizarrement: le programme continue de se dérouler, mais la souris se met en mode sablier, et lorsque j'appuis sur échap, qui fait clore le programme, il ferme et windows m'ouvre la la fenêtre "a cessé de fonctionner". Si j'utilise une commande quelconque, il me clos le programme de la même facon.

kimci86

  • Full Member
  • ***
  • Messages: 128
    • Voir le profil
Re : problème avec fullscreen
« Réponse #3 le: Novembre 04, 2014, 04:58:22 pm »
Bonjour,
Citation de: Tutoriels 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.

http://sfml-dev.org/tutorials/2.1/window-window-fr.php#rendre-la-fenetre-un-peu-plus-vivante

mazertys17

  • Full Member
  • ***
  • Messages: 123
    • Voir le profil
    • E-mail
Re : problème avec fullscreen
« Réponse #4 le: Novembre 05, 2014, 11:03:00 am »
Bonjour, et merci pour votre réponse.

En effet, c'est bien cela: ma boucle vient d'un autre objet qui fait appel a "Affichage" en dernier, celui ci n'ayant donc aucune boucle d’événement, étant appelé en boucle par cet autre objet. J'ai simplement rajouté :
-fenetre.pollEvent(event);
et une condition :
 " if (event.type == sf::Event::Closed){ fenetre.close();}

Depuis, cela semble fonctionner sans problème.

Merci  :D