| [résolu] pause | |
|
|
Auteur | Message |
---|
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: [résolu] pause Mer 7 Déc 2011 - 8:31 | |
| salut tous le monde comme le titre l'indique ce qui m’intéresserais se serrais d'intégrer un système de pause dans mon jeu je voudrais que si j’appuie sur "p" le jeu se gèle qu'il soit en noire et blanc (sa au pire si c'est pas faisable tempi) et que la musique baisse de volume. Mais déja si je pouvais savoir comment geler le jeu se serais pas mal.
j'avais trouver se code sur le forum :
if keyboard_check_pressed(ord('P')) { sleep(1000) while 1=1 {
if keyboard_check_pressed(ord('P')) then break else sleep(100) } }
mais sa ne me gèle le jeu que pendant les mille milliseconde et sa reprend.
Dernière édition par chopsuey le Sam 17 Déc 2011 - 12:37, édité 2 fois |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 8:37 | |
| une technique tout bête consiste a faire une variable globale 'pause' : au démarrage de la room tu fais : - Code:
-
globalvar pause; pause=false; Puis, dans le step de tous tes objets, tu mets ça au début: - Code:
-
if (pause) { exit;} Comme ça, le code dans step (qui est normalement celui qu'il faut bloquer pour empêcher les instances d'évoluer) ne sera pas executé si pause est sur true. |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 9:17 | |
| merci M@d_Doc mais le problème c'est que j'ai beaucoup d'object et surtous beaucoup de D&D est ce qu'il n'y aurais pas moyen de revoir ce code ? if keyboard_check_pressed(ord('P')) { sleep(1000) while 1=1 { if keyboard_check_pressed(ord('P')) then break else sleep(100) } } par ce que normalement sa devrais marcher voila le lien ou je l'ai trouver https://cbna.forumactif.com/t7521-faire-une-pause?highlight=pause personne dans les réponses dit que sa ne marche pas donc je comprend pas pourquoi moi sa ne me gèle le jeu que pendent les mille milliseconde. |
|
| |
Invité Invité
| Sujet: Réponse Mer 7 Déc 2011 - 9:21 | |
| |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 9:26 | |
| je suis déja tombé sur ce topic j'ai essayer ce code mais sa ne marchait pas. |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 9:45 | |
| - chopsuey a écrit:
- merci M@d_Doc mais le problème c'est que j'ai beaucoup d'object et surtous beaucoup de D&D est ce qu'il n'y aurais pas moyen de revoir ce code ?
if keyboard_check_pressed(ord('P')) { sleep(1000) while 1=1 {
if keyboard_check_pressed(ord('P')) then break else sleep(100) } } par ce que normalement sa devrais marcher voila le lien ou je l'ai trouver https://cbna.forumactif.com/t7521-faire-une-pause?highlight=pause
personne dans les réponses dit que sa ne marche pas donc je comprend pas pourquoi moi sa ne me gèle le jeu que pendent les mille milliseconde. Le problème, c'est que c'est vraiment pas bon (et ce n'est même plus subjectif, c'est juste quelquechose à éviter) : en fait, ce code va vraiment 'freezer' le jeu pendant 1 seconde, ce qui signifie que tu ne pourra vraiment rien faire pendant 1 seconde. Dans un autre language, on construit souvent soi même la gestion du temps. Dans GM, il reste une autre solution relativement moche, mais qui marche à coup sûr: show_message() Ca affiche une fenetre avec ton texte dedans, et le jeu est en pause tant que tu ne cliques pas sur OK. Malgré tout, le mieux (surtout si tu veux finir par faire une pause interactive), c'est d'utiliser ma méthode. Regarde les jeux commerciaux : quand tu es en pause, tu peux régler des options, regarder tes achievements, etc... Tout ça n'est pas faisable si on freeze le jeu. Si tu tiens quand même à freezer, par soucis de simplicité (mais je continue à dire que c'est une TRES mauvaise solution), essaye ce code dans un event STEP: - Code:
-
if !(variable_local_exists('pause')) { pause=0; } if keyboard_check_pressed(vk_space) { pause=!pause; } while(pause) { if keyboard_check_pressed(vk_space) { pause=!pause; } } Ca devrait marcher. |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:02 | |
| oui je me doutais que c'était pas le top d'utiliser sleep mais bon pour le jeu que je fait c'est pas gênant de ne pas pouvoir contrôler les options etc c'est un genre de mario et ya pas d'inventaire ou même d'option. j'ai un autres projet en parallèle bien plus sérieux ou la je pourrait utiliser if (pause) { exit;} mais la j'ai vraiment trop de D&D pour sa.
juste une question c'est quoi la difference entre global. et globalvar ?
|
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:04 | |
| globalvar te permet de pas avoir a mettre global. devant ta variable, ou quelle soit. Par contre tu ne peut plus utiliser son nom pour en faire des locales. |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:05 | |
| aucune, sauf qu'avec global.blablabla tu dois chaque fois réécrir global., et moi ça me gave :p Cela dit, ça permet de reconnaitre les variables globales. Moi je me contente de les appeler gQuelquechose, du genre gArmure gVie etc. |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:07 | |
| Sinon tu peut utiliser des conventions du genre :
variable : variable locale Variable : variable globale VARIABLE : constante [...] |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:09 | |
| daccord pour CONSTANTE, mais la majuscule de début restera à tout jamais une classe pour moi :p Bref, c'est plus fort que moi, je peux pas écrir de nom avec une majuscule dans GM :p |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:10 | |
| |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:32 | |
| j'ai opté pour la méthode moche du show message mais est-ce que je peu en mème temps mettre le jeu en noire et blanc et baisser le volume de la musique le temps de la pause et comment ?
Dernière édition par chopsuey le Mer 7 Déc 2011 - 10:41, édité 1 fois |
|
| |
M@d_Doc Modérateur
Messages : 6600 Localisation : 47°44'8.04 Projet Actuel : aucun
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:40 | |
| n'oublie pas de chercher dans le manuel de GM (appuie sur F1 dans le logiciel), tu y trouveras bien des réponses. Bon, va pour cette fois :
sound_set_volume() (à vérifier)
Pour le noir et blanc... c'est légèrement plus compliqué, laisse tomber si tu en es encore à utiliser du D&D :p |
|
| |
chopsuey Utilisateur confirmé: Rang ***
Messages : 523 Localisation : saint etienne Projet Actuel : All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
...
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 10:42 | |
| ok merci |
|
| |
Invité Invité
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 14:08 | |
| Tu peut aussi utiliser la fonction: - Code:
-
show_message_ext(str,but1,but2,but3) C'est la même chose que show_message(str), mais tu as 3 boutons personnalisable (un pour continuer, pour recommencer et un pour quitter par exemple). |
|
| |
Invité Invité
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 14:22 | |
| Tu peut aussi utiliser cette DLL: Options DLLTu obtient ceci: |
|
| |
Caly Utilisateur confirmé: Rang ****
Messages : 1285 Localisation : Haute Normandie Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 20:31 | |
| Bonsoir,
Une petite idée me viens pour le menu pause. Je ne sais pas du tout si ça fonctionne mais je pense que oui.
Créer une Room "pause".
Si on appuis sur "P" { - global.pause = vrai - en retiens les positions du personnage principal - en rend la room actuelle persistante - on fait une capture d’écran et on l'enregistre dans une texture - on modifie les couleurs de la texture avec un blend mode - on change de Room (room_pause) - on affiche la capture d'écran en tant que Background }
Le seul truc sur lequel je doute c'est de savoir si quant on met la Room en persistant ça sauvegarde toutes les positions de tout les objets. |
|
| |
onilink_ Modérateur
Messages : 9183 Localisation : Montpellier Projet Actuel : Planet Centauri
OniDev
| Sujet: Re: [résolu] pause Mer 7 Déc 2011 - 20:33 | |
| |
|
| |
Contenu sponsorisé
| Sujet: Re: [résolu] pause | |
| |
|
| |
| [résolu] pause | |
|