#1 

22-05-2013 11:38:19

Neckara
Membres
Date d'inscription:
Messages: 13
IP: 194.247.34.87
Courriel

Bonjour,

Je souhaiterais que lorsque l'utilisateur tente de quitter mon programme en cliquant sur la croix de la fenêtre ou en appuyant sur Ctrl + F4, une fenêtre s'ouvre pour lui demander s'il veut vraiment quitter sans sauvegarder, s'il veut quitter et sauvegarder ou s'il veut ignorer l'événement.

Ensuite, s'il décide de vraiment quitter l'application, je souhaiterais lui afficher une petite image pendant 1 seconde.


Malheureusement, dès que device.run() retourne false, je ne peux plus récupérer les événements de l'utilisateur pour savoir s'il veut quitter, quitter & sauvegarder ou ne rien faire.

J'ai beau rechercher, mais je ne trouve pas de solution à part recréer un device() :aie:.

Auriez-vous une idée de la manière dont je pourrais procéder ?

Cordialement,
Neckara.


Hors ligne


#2 

22-05-2013 12:45:41

johnplayer
Membres
Avatar de johnplayer
Date d'inscription:
Messages: 431
IP: 83.192.223.127
Courriel

J'ai eu le même problème mais à part toucher les sources tu ne peux rien y faire. Sinon si c'est une application pourquoi ne pas utiliser une bibliothèque de fenêtrage (Qt par exemple) avec laquelle tu créerai la fenêtre. ensuite tu y intègre ta vue irrlicht. Tu auras accès à la fermeture de la fenêtre et certainement un meilleur rendu (la GUI d'Irrlicht est basique et pas très pratique).


core i7 4970K @ 4GHz - 32GB ddr3 19200(2400MHz) - ssd samsung 840 evo 250GB - GTX1080Ti (4K) - Cooler master storm stryker blanc.
"L'alcool, c'est comme Activia, c'est actif à l'intérieur et ça se voit à l'extérieur."

Hors ligne


#3 

22-05-2013 15:46:49

Neckara
Membres
Date d'inscription:
Messages: 13
IP: 194.247.34.87
Courriel

Merci pour votre réponse,

Je n'aime pas vraiment Qt et pour la gui j'utilise CEGUI intégré à Irrlicht.

Je vais essayer de voir les sources d'Irrlicht pour voir si je ne peux pas m'en tirer avec un héritage du device.

Mais c'est vraiment dommage qu'on ne puisse pas intercepter les événements de fermeture de la fenêtre...


Hors ligne


#4 

22-05-2013 17:09:22

Neckara
Membres
Date d'inscription:
Messages: 13
IP: 81.56.196.139
Courriel

J'ai trouvé une solution, je crée une classe IrrlichtHack qui hérite de CIrrDevice.
Dans cette classe, j'ajoute une méthode restart() qui passe la variable Close à true.

Il me reste ensuite plus qu'à faire un cast assez sale (mais 100% sûr) du device vers IrrlichtHack, ainsi je peux relancer le device quand je veux wink


Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
154 invités en ligne
membre en ligne: -
RSS Feed