|
| Ajout de la date & heure sur une save ! | |
| | Auteur | Message |
---|
CookiewooD Adepte de la Grande Tasse Bleue
Nombre de messages : 54
Age : 35
Localisation : Gard
Date d'inscription : 18/09/2018
| Sujet: Ajout de la date & heure sur une save ! Lun 14 Jan 2019 - 16:28 | |
| Bonjour à tous ! Une excellente année à tous pour commencer J’espère que vous avez pu profiter de ces moments en famille et avec vos amis comme il se doit ! Pour ma part, l'année à assez mal fini. Suite à un problème électrique chez moi mes disques dur ont grillés (même le ssd^^ joie) , avec évidemment mes 3 mois de boulot dessus. Evidemment j'avais été trop bête pour faire un backup sur une clef... je ne peux en vouloir qu'à moi même. Qu'a ne cela ne tienne, j'ai décidé de tout recommencer du début pour cette nouvelle année, et je dois dire que se fut un mal pour un bien, car la nouvelle version est beaucoup plus propre. Il faut savoir se consoler comme on peut Du coup, j'ai décidé d'améliorer mes GUI de save en y ajoutant la date et l'heure voire même si c'est possible le nombre d'heure ou minute passé sur le jeu. Pour cela, je me tourne d'abord vers le manuel qui me dit que la fonction Date.Now existe et ressemble à ça : Example: DateTime *dt = DateTime.Now; Display("The date is: %02d/%02d/%04d", dt.DayOfMonth, dt.Month, dt.Year); Display("The time is: %02d:%02d:%02d", dt.Hour, dt.Minute, dt.Second); will display the current date and time in 24-hour format Pour ma part, je voudrais que cela apparaisse au moment de faire la save dans une petite case en dessous du screenshot mais je vous avoue que je patauge complètement là, en faisant comme me dit le manuel, cela me dit : "cannot assign initial value to global pointer". J'ai essayé de le mettre dans le header mais visiblement, je dois me tromper quelque part. Je ne sais pas vraiment quoi vous montrer comme ligne de code, mais j'ai l'impression que c'est pas hyper compliqué mais je n'arrive pas à y voir clair. une idée ? |
| | | Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ajout de la date & heure sur une save ! Lun 14 Jan 2019 - 18:17 | |
| Salut, et bonne année à toi aussi Le message d'erreur que tu obtiens te dit qu'il y a un problème avec la première ligne, DateTime *t = DateTime.Now; que tu as placée dans le header. En gros tu peux pas donner une valeur par défaut à une variable pointeur (c'est-à-dire qui se déclare avec un astérisque *) mais rien ne t'empêche de déclarer l'existence de ta variable dans le header (simplement DateTime *dt;), et d'assigner la valeur à un moment précis dans ton programme (par exemple en mettant dt = DateTime.Now; dans la fonction game_start, exécutée en début de jeu). On peut faire le même genre de remarques pour les commandes Display : ça n'a pas beaucoup de sens de les mettre dans le header, lequel existe un peu "hors du temps" si tu veux--- quand, dans le jeu, est-ce que tu devrais t'attendre à voir apparaître les messages Display que tu places dans le header? En ce qui concerne la question d'afficher la date et l'heure avec la vignette de sauvegarde, il s'agit d'inclure les informations DateTime dans le paramètre description de la fonction SaveGameSlot. Par exemple, tu peux faire quelque chose comme ça au moment de la sauvegarde (en supposant que tu as auparavant défini une variable slot qui correspond à un numéro d'emplacement de sauvegarde, d'une façon ou d'une autre) : - Code:
-
DateTime *dt = DateTime.Now; SaveGameSlot(slot, String.Format("Sauvegarde du %02d/%02d/%04d à %02d:%02d:%02d", dt.DayOfMonth, dt.Month, dt.Year, dt.Hour, dt.Minute, dt.Second)); Ensuite il suffit d'utiliser la fonction GetSaveSlotDescription pour récupérer l'information lorsque tu affiches ton écran de chargement. Si tu veux ajouter le temps de jeu, il faudra que tu le calcules toi-même. Je suis à peu près sûr qu'il y a une façon assez simple de le faire, mais je m'emmêle un peu les pinceaux pour l'instant, donc je préfère pas m'avancer avant de m'être renseigné davantage. _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
| | | CookiewooD Adepte de la Grande Tasse Bleue
Nombre de messages : 54
Age : 35
Localisation : Gard
Date d'inscription : 18/09/2018
| Sujet: Re: Ajout de la date & heure sur une save ! Jeu 17 Jan 2019 - 7:53 | |
| Hello Kitai, Merci pour ta réponse rapide. Je dois t'avouer que je suis encore un peu perdue, je n'arrive pas a trouver où insérer la fonction GetSaveSlotDescription. Voilà à quoi ressemble mon système de save. - Code:
-
DynamicSprite *buttonSprite1; DynamicSprite *buttonSprite2; DynamicSprite *buttonSprite3;
DynamicSprite *buttonSpriteLoad1; DynamicSprite *buttonSpriteLoad2; DynamicSprite *buttonSpriteLoad3;
function ShowSaveGUI() { // prepare gSave buttonSprite1 = DynamicSprite.CreateFromSaveGame(1, 150, 90); if (buttonSprite1 != null) bScreenSlot1.NormalGraphic = buttonSprite1.Graphic; buttonSprite2 = DynamicSprite.CreateFromSaveGame(2, 150, 90); if (buttonSprite2 != null) bScreenSlot2.NormalGraphic = buttonSprite2.Graphic; buttonSprite3 = DynamicSprite.CreateFromSaveGame(3, 150, 90); if (buttonSprite3 != null) bScreenSlot3.NormalGraphic = buttonSprite3.Graphic; // show it gSave.Visible = true; }
function ShowLoadGUI() { buttonSpriteLoad1 = DynamicSprite.CreateFromSaveGame(1, 150, 90); if (buttonSpriteLoad1 != null) bScreenLoadSlot1.NormalGraphic = buttonSpriteLoad1.Graphic;
buttonSpriteLoad2 = DynamicSprite.CreateFromSaveGame(2, 150, 90); if (buttonSpriteLoad2 != null) bScreenLoadSlot2.NormalGraphic = buttonSpriteLoad2.Graphic;
buttonSpriteLoad3 = DynamicSprite.CreateFromSaveGame(3, 150, 90); if (buttonSpriteLoad3 != null) bScreenLoadSlot3.NormalGraphic = buttonSpriteLoad3.Graphic;
gLoad.Visible = true; } Pour ouvrir mes GUIs de save/load et préparer les sprites dynamic pour un screenshot. - Code:
-
//---------------------------------------------------------------------------------------------------- // gSave //----------------------------------------------------------------------------------------------------
function bSaveSlot1_OnClick(GUIControl *control, MouseButton button) { gSave.Visible = false; SaveGameSlot(1, "Save 1"); // gets queued, only runs after function has finished Overlay *textOverlaySaving; textOverlaySaving = Overlay.CreateTextual(800, 300, 400, eFontfntSpeech, 3, "Partie sauvegardée !"); Wait(50); }
function bSaveSlot2_OnClick(GUIControl *control, MouseButton button) { gSave.Visible = false; SaveGameSlot(2, "Save 2"); Overlay *textOverlaySaving; textOverlaySaving = Overlay.CreateTextual(800, 300, 400, eFontfntSpeech, 3, "Partie sauvegardée !"); Wait(50); }
function bSaveSlot3_OnClick(GUIControl *control, MouseButton button) { gSave.Visible = false; SaveGameSlot(3, "Save 3"); Overlay *textOverlaySaving; textOverlaySaving = Overlay.CreateTextual(800, 300, 400, eFontfntSpeech, 3, "Partie sauvegardée !"); Wait(50); } Pour procéder à la save. Et un petit aperçu visuel pour comprendre à quoi correspond chaque boutons. |
| | | Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ajout de la date & heure sur une save ! Jeu 17 Jan 2019 - 17:57 | |
| Tu as plusieurs options, par exemple tu peux afficher la date/heure directement par-dessus la capture d'écran. Dans ce cas les changements à ton code sont plutôt minimaux (j'illustre uniquement slot1) : - Code:
-
buttonSprite1 = DynamicSprite.CreateFromSaveGame(1, 150, 90); if (buttonSprite1 != null) bScreenSlot1.NormalGraphic = buttonSprite1.Graphic; // puis on récupère l'image du bouton et on dessine le texte par-dessus : DynamicSprite *sp1 = DynamicSprite.CreateFromExistingSprite(bScreenSlot1.NormalGraphic); DrawingSurface *su1 = sp1.GetDrawingSurface(); su1.DrawStringWrapped( 0 , 0 , su1.Width , Game.NormalFont , eAlignCentre , Game.GetSaveSlotDescription(1) ); su1.Release();
Une autre option serait d'ajouter des étiquettes/labels à ton GUI sous chacun des boutons qui correspondent aux captures d'écran. Ensuite, à la place du code que je viens d'ajouter pour écrire directement sur les surfaces des boutons-captures, tu modifies plutôt simplement la propriété Text de l'étiquette en utilisant GetSaveSlotDescription, comme ça (à titre d'exemple) : - Code:
-
lblSlot1.Text = Game.GetSaveSlotDescription(1); Dans les deux cas, tu dois modifier tes commandes SaveGameSlot pour remplacer "Save 1", "Save 2" et "Save 3" par ce que j'ai donné dans mon message précédent, comme ça (encore une fois, à titre d'exemple sur slot1) : - Code:
-
function bSaveSlot1_OnClick(GUIControl *control, MouseButton button) { gSave.Visible = false; DateTime *dt = DateTime.Now; SaveGameSlot(1, String.Format("%02d/%02d/%04d - %02d:%02d:%02d", dt.DayOfMonth, dt.Month, dt.Year, dt.Hour, dt.Minute, dt.Second)); Overlay *textOverlaySaving; textOverlaySaving = Overlay.CreateTextual(800, 300, 400, eFontfntSpeech, 3, "Partie sauvegardée !"); Wait(50); } _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
| | | CookiewooD Adepte de la Grande Tasse Bleue
Nombre de messages : 54
Age : 35
Localisation : Gard
Date d'inscription : 18/09/2018
| Sujet: Re: Ajout de la date & heure sur une save ! Sam 19 Jan 2019 - 13:03 | |
| J'avais écrit un message pour dire que ça marchait nickel sauf, quand on quitte puis ré-ouvre le jeu. La date et l'heure disparaissaient. Je viens de régler le problème, je ne sais absolument pas comment j'ai fait, puisque j'ai simplement effacé ce que j'avais mis dans le script, puis j'ai recommencé. Et ça a marché comme par magie xD (j'ai bien du faire un truc différemment mais je ne vois pas lequel)
Merci en tout cas, tu es trop fort Kitai (j'ai opté pour l'option avec label) ! Mon système de save est super propre maintenant grâce à toi |
| | | Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Ajout de la date & heure sur une save ! Sam 19 Jan 2019 - 19:59 | |
| _________________ Ga is Ga Vous pouvez consulter l' aide d'AGS 3.2 en français et contribuer à la traduction et à l'amélioration si le cœur vous en dit ! |
| | | Adipson Adepte de la Grande Tasse Bleue
Nombre de messages : 161
Age : 52
Localisation : Hyères
Date d'inscription : 21/02/2016
| Sujet: Re: Ajout de la date & heure sur une save ! Dim 20 Jan 2019 - 5:32 | |
| Kitai président ! Bon courage pour la suite CookiewooD |
| | | Contenu sponsorisé
| Sujet: Re: Ajout de la date & heure sur une save ! | |
| |
| | | | Ajout de la date & heure sur une save ! | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |