AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  Connexion  

Partagez | 
 

 Menu de pause

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
ttgc
Débutant
avatar

Messages : 14
Localisation : Royaume d'Hyrule
Projet Actuel : Inside The World
Jeu de plateforme 2D
http://cbna.forumactif.com/t12425-inside-the-world-jeu-de-plateforme-2d

MessageSujet: Menu de pause   Mar 23 Juil 2013 - 9:04

bonjour,
Voici donc un script pour un menu de pause.
Code:

/***************************************************
  Script de menu de pause
  
  intitialisation des arguments
  argument0 = texte affichée pour dire que le jeu est en pause
  argument1 = texte expliquant la commande à réaliser pour reprendre le jeu
  argument2 = texte expliquant la commande à réaliser pour quitter le jeu
  argument3 = mode d'affichage de l'arrière plan (true = étiré)
 ***************************************************/
pausetxt = argument0;
stoppause = argument1;
endtxt = argument2;
streching = argument3;

// affichage du menu de pause
if streching = true
{
    draw_background_stretched(pause_back,0,0,640,480);
}
else
{
    draw_background_tiled(pause_back,0,0);
}
instance_deactivate_all(true);
draw_set_halign(fa_center);
draw_set_valign(fa_middle);
draw_set_font(font_opening);
draw_set_color(c_white);
draw_text(320,240,pausetxt);
draw_text(320,340,stoppause);
draw_set_font(font_normal);
draw_text(320,385,endtxt);
draw_set_color(c_black);
draw_set_valign(fa_top);
draw_set_halign(fa_left);
Changez les nom de font et background ainsi que la couleur
Gestion du menu :
créez un objet invisible et permanent afin de gérer le script, voici les différents réglage d'event :
create > execute code
Code:
global.pause = false;
draw > execute code
Code:

if global.pause = true
{
    pause_menu("PAUSE","Appuyez sur entree pour continuer a jouer","Appuyez sur F2 pour retourner au menu principal")
}
key press (la touche pour mettre le jeu en pause) > execute code
Code:
global.pause = true;
key press (la touche pour reprendre le jeu) > execute code
Code:

global.pause = false;
instance_activate_all();
key press (la touche pour quitter le jeu) > execute code
Code:

returnmenu = 0
if global.pause = true
{
    returnmenu = show_question("Voulez vous vraiment retourner au menu principal ?")
    if returnmenu = true
    {
       game_restart();
    }
}
à noter que pour ce dernier code vous pouvez changer la fonction show_question par une fonction game_end() directement ou game_restart() ou même pour affihce vos propres choix de réponses par show_message_ext(str,but1,bu2,but3)
Revenir en haut Aller en bas
http://jeuxvideosamateur.e-monsite.com/
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Menu de pause   Mar 23 Juil 2013 - 11:58

Bah le problème avec ce genre de script, c'est que c'est pas vraiment modulable. Quelqu'un qui veut faire son menu de pause voudra le faire à sa sauce, et c'est plus facile de commencer de rien qu'avec un truc du genre.
Surtout que les gens préfèrent en général un menu avec des boutons (donc à la souris) ; et pour faire plus propre, le mieux, c'est de faire tout en un script, sans utiliser d'objet spécifique.
Bon, j'ai fait beaucoup de reproches, mais bon, tu sais utiliser le gml correctement, t'écrit de manière lisible et tu viens pas direct poser 50 questions à la con, ce qui est déjà pas mal gnii 
Bref, donc voilà, bienvenue sur le forum, ce serait cool qu'il y ai plus de membres dans ton genre Smile

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
GrandeLangue
Bonne participation
avatar

Messages : 77
Localisation : Lille
Projet Actuel : Faire des maths

MessageSujet: Re: Menu de pause   Mar 23 Juil 2013 - 13:40

Je suis d'accord avec ce qu'a dit Térence.

De plus, la désactivation de toutes les instances, juste pour un menu pause, ne me semble pas être une bonne idée.
Il suffit de bloquer le jeu avec une boucle while(true), et d'y revenir si tu utilises le clavier ou la souris. Ce qui permettrait ainsi par exemple de laisser le menu pause en transparence pour voir où on en est dans le jeu ou pour faire des screenshots.


En tout cas, bienvenue !
Tu peux te présenter ici fleche_d Présentations des nouveaux membres

_________________
Un superbe jeu de plateforme où vous pouvez contrôler le temps ici : TimeBoy

Pour maîtriser les pistons dans Minecraft : http://www.youtube.com/MindcraftMax
Project Spark est mort, vive Project Spark ! Top 25 des créations qui ont été réalisées avec ce moteur de création de jeu depuis sa sortie, avant que les serveurs n'aient été arrêtés : https://www.youtube.com/watch?v=nPenVqIcFgc
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
avatar

Messages : 2213
Localisation : Oui

MessageSujet: Re: Menu de pause   Mar 23 Juil 2013 - 13:45

GrandeLangue a écrit:
De plus, la désactivation de toutes les instances, juste pour un menu pause, ne me semble pas être une bonne idée.
Il suffit de bloquer le jeu avec une boucle while(true), et d'y revenir si tu utilises le clavier ou la souris. Ce qui permettrait ainsi par exemple de laisser le menu pause en transparence pour voir où on en est dans le jeu ou pour faire des screenshots.
Moi je suis pas d'accord avec toi là awesome 
Avec une boucle infinie, le jeu va frizzer, puis tu pourra pas faire d'effet de hover par exemple.
Si tu veux avoir un menu semi-transparent, faut prendre un screenshot, désactiver les instances, puis afficher ton screenshot en background. C'est la technique que j'utilise pour mon jeu, et ca marche impec' Smile

_________________
Je suis partie sur les ailes du vent et la tempête m'a ramenée.
Revenir en haut Aller en bas
GrandeLangue
Bonne participation
avatar

Messages : 77
Localisation : Lille
Projet Actuel : Faire des maths

MessageSujet: Re: Menu de pause   Mar 23 Juil 2013 - 14:56

Si c'est un menu pause comme celui qu'il propose sans aucune animation, ma méthode fonctionne, mais c'est vrai que c'est pas un menu très vivant ^^ (mais bon je n'ai jamais été difficile sur mes menus pause).

_________________
Un superbe jeu de plateforme où vous pouvez contrôler le temps ici : TimeBoy

Pour maîtriser les pistons dans Minecraft : http://www.youtube.com/MindcraftMax
Project Spark est mort, vive Project Spark ! Top 25 des créations qui ont été réalisées avec ce moteur de création de jeu depuis sa sortie, avant que les serveurs n'aient été arrêtés : https://www.youtube.com/watch?v=nPenVqIcFgc
Revenir en haut Aller en bas
onilink_
Modérateur
avatar

Messages : 8915
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

MessageSujet: Re: Menu de pause   Mar 23 Juil 2013 - 15:37

Oui enfin une boucle infini consomme beaucoup de processeur, hors mettre un jeu en pause en général c'est pour pouvoir faire un truc a coté.
Après en utilisant des sleeps et io_handle dans la boucle ça peut être viable, mais j'ai pas testé (car sous GM6 boucle => freeze => aucune action possible, mais sous GM>=7 io_handle() permet de récupérer les events clavier/souris même dans une boucle infinis).
Y a keyboard_wait() qui permet de bloquer le jeu sinon, et qui est très simple d'utilisation.

_________________
                 
Revenir en haut Aller en bas
ttgc
Débutant
avatar

Messages : 14
Localisation : Royaume d'Hyrule
Projet Actuel : Inside The World
Jeu de plateforme 2D
http://cbna.forumactif.com/t12425-inside-the-world-jeu-de-plateforme-2d

MessageSujet: Re: Menu de pause   Mar 23 Juil 2013 - 16:27

merci de votre accueil !
je sais très bien que mon script est basic mais c'est plus simple à utiliser, après ça n'empêche pas qu'avec un minimum de connaissance en GML on peut améliorer le script, et chacun peut le tourner différemment voilà pourquoi j'ai voulu le laisser assez basic.

Le coup de la boucle moi je suis pas fan, perso les boucles c'est pas que je les aimes pas mais ça utilise énormément le processeur et le fait de tout désactiver permet quand même de libérer le processeur, après c'est mon avis !

Pour finir, je tiens à préciser que ce script fut mon premier (il était pas aussi développé mais je l'ai améliorer au fur et à mesure)
Revenir en haut Aller en bas
http://jeuxvideosamateur.e-monsite.com/
Contenu sponsorisé




MessageSujet: Re: Menu de pause   

Revenir en haut Aller en bas
 
Menu de pause
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» GeneaTM (T comme Thierry et M comme Menu !)
» menu 1er de l'an
» Debut du régime je ne sais pas quoi faire comme menu
» menu traveaux d'aiguille dialogue mtf avec sa mére
» Vite aidez-moi pour une idée de menu

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Scripts GML-
Sauter vers: