IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SDL Discussion :

Ouvrir une deuxième fenêtre


Sujet :

SDL

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Ouvrir une deuxième fenêtre
    Bonjour, bonsoir

    Dans le cadre d'un mini-jeu que je réalise en temps que projet en 2eme année de licence et débutant en SDL2, j'aurais souhaité pouvoir afficher une deuxième fenêtre, suite à l'appuie sur une touche dans la première fenêtre.

    L'ouverture se passe normalement, jusque là tout vas bien. J'ai ensuite la boucle classique de fermeture de ma deuxième fenêtre, semblable à celle de la première (avec les paramètres qui vont bien évidemment !), seulement, impossible de fermer la fenêtre.
    J' en ai déduit que c'était SDL_Quit() qui posait problème : comme il ne prend pas de paramètre, aucun moyen pour lui de savoir quelle il doit fermer, ce qui engendre un conflit entre les deux fenêtres et bloque ainsi la fermeture de la première ( je me trompe peut-être...).

    J'ai ou plusieurs poste sur ce sujet, mais tous étaient tournés sur la première version d'SDL, et certains disaient qu'il serait possible de gérer cela quand la SDL2 sortirait, et je n'ai pas trouvé de poste plus récent c'est pourquoi je me tourne vers vous aujourd'hui, existe-t-il un moyen d'ouvrir une seconde fenêtre en SDL2 ? Ou bien suis-je obliger de réserver une surface sur ma fenêtre initiale pour faire mon affichage quitte à devoir afficher mon premier contenu, puis mon deuxième, pour revenir enfin sur le premier ?.. Bien que ça ne soit pas compliqué à gérer dans mon cas, je crois pas que ça soit hyper optimal d'un point de vu de la mémoire..

    Merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    SDL_Quit sert à éteindre la SDL. Si tu veux juste fermer une fenêtre c'est certainement pas ce qu'il faut faire..
    SDL_DestroyWindow a déjà un nom qui sonne mieux.
    Ensuite il faut surtout arrêter de processer la fenêtre et de l'afficher.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2019
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2019
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Bousk Voir le message
    SDL_Quit sert à éteindre la SDL. Si tu veux juste fermer une fenêtre c'est certainement pas ce qu'il faut faire..
    SDL_DestroyWindow a déjà un nom qui sonne mieux.
    J'ai effectivement un SDL_DestroyWindow.
    Ma seconde fenêtre, s'ouvre et se ferme normalement en étant seule, dans un programme à part.
    C'est lorsque j'ajoute la deuxième fenêtre que le problème survient.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Bonjour,

    Quand j'ai apprit la SDL2 j'ai utilisé le tuto du site lazyfoo.net. Un chapitre est consacré au fenêtres multiples ici :

    http://lazyfoo.net/tutorials/SDL/36_...dows/index.php

    Tu peux télécharger la source directement sur la page. En y regardant de plus prêts j'ai remarqué que l'auteur utilise la fonction SDL_HideWindow() lorsque l'événement SDL_WINDOWEVENT_CLOSE est relevé. Du coup si tu fermes une fenêtre elle est genre "cachée définitivement".
    Lorsque toutes les fenêtres sont "cachées" alors seulement à ce moment là, la fonction SDL_DestroyWindow() est appelée successivement sur chaque fenêtre

    Alors après pourquoi c'est fait comme ça ? Je sais pas mais j'espère que ça pourra quand même t'aider

Discussions similaires

  1. Ouvrir une nouvelle fenêtre sur un deuxième écran
    Par pierre_br dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2019, 19h31
  2. Réponses: 1
    Dernier message: 30/11/2012, 12h02
  3. Problème pour ouvrir une deuxième fenêtre..!
    Par dj_kaies dans le forum Débuter
    Réponses: 2
    Dernier message: 01/09/2011, 10h37
  4. Ouvrir une deuxième fenêtre à partir d'une autre
    Par bt.aladin dans le forum PyQt
    Réponses: 2
    Dernier message: 15/07/2008, 12h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo