| Sauvegarde et Chargement : problème de sprite | |
|
|
Auteur | Message |
---|
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 17:35 | |
| Bonjour !
Nouveau petit problème que je remarque, qui n'empêche pas de jouer mais qui est un peu gênant :
- dans mon jeu je suis amené à faire changer de sprite certains boutons, en utilisant la fonction "bouton.NormalGraphic=X".
- lorsque je charge une partie après avoir relancé le jeu, ces boutons ont repris leur image standard (telle que définie au lancement du jeu), mais lorsque je passe la souris les survole, ils retrouvent la sprite espérée (c'est-à-dire : celle qui a été définie avant la sauvegarde de la partie).
C'est un peu comme si AGS "oubliait" de les afficher correctement, mais que lorsque la souris les survole (bien qu'il n'y ait aucun script qui change la sprite lors du survol du bouton) AGS se dit "ah oui, j'avais zappé, pardon ! la voici la bonne sprite !".
Une idée de l'origine du problème ? Peut-être interne au programme AGS ? Ou y a un moyen de "rafraîchir" AGS juste après avoir rechargé la partie ?
A part cela, j'ai aussi envie que lorsqu'on recharge la partie, je voudrais que le GUI de sauvegarde ne soit pas affiché. J'ai l'impression qu'il reste affiché lorsqu'on sauvegarde, du coup quand on recharge, il est encore là.
Cela est peut-être dépendant de la place du script de sauvegarde/recharge dans le code ? |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 17:55 | |
| - Baguettator a écrit:
- Ou y a un moyen de "rafraîchir" AGS juste après avoir rechargé la partie ?
Tu as essayé dans le repeatedly_execute(_always) ? Avec une ou plusieurs variables dont la valeur est liée à ce que doivent afficher les boutons ? Par contre c'est un peu laborieux, surtout s'il y a beaucoup de configurations possibles et que tu ne peux pas généraliser ça... Qui plus est il est possible (mais pas certain) que les boutons restent mal affichés une fraction de seconde. Mais c'est peut-être lié à la façon dont tu gères les sprites ? Je visualise plus trop. En ce qui concerne le GUI de sauvegarde, je ne vois pas trop, c'est pas forcément un aspect que je maîtrise. Désolé pour cette réponse relativement peu utile mais il parait que l'important c'est de participer. _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 18:58 | |
| Alors pour changer les sprite des boutons, j'utilise noblement la fonction "NormalGraphic". Il y aurait une autre fonction à utiliser à la place ?
Merci pour ta réponse valoulef, ne t'inquiète pas, ça aide déjà d'avoir un regard extérieur ! |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 19:07 | |
| - Baguettator a écrit:
- A part cela, j'ai aussi envie que lorsqu'on recharge la partie, je voudrais que le GUI de sauvegarde ne soit pas affiché. J'ai l'impression qu'il reste affiché lorsqu'on sauvegarde, du coup quand on recharge, il est encore là.
Tu peux détecter le rechargement d'une partie dans on_event avec la valeur eEventRestoreGame, et ainsi y forcer la disparition du GUI Et tu pourrais aussi forcer les images de bouton dans cette fonction si tu trouves pas d'autre solution _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 19:19 | |
| Ah, alors j'y vois plus clair !
Pour ce qui concerne la disparition du GUI :
- je n'ai pas de fonction on_event dans mon global script, il faut que j'en crée une ? Est-ce que tu aurais un modèle à me proposer ? La valeur eEventRestoreGame est une boléenne ou une variable ?
Pour ce qui est de l'image des boutons :
- j'imagine que je pourrais faire une immense boucle qui scanne tous les GUI et tous les boutons de chaque GUI, et qui fait quelque chose comme : "bouton[i].NormalGraphic = bouton[i].Graphic" ? (en partant du principe qu'en sauvegardant, AGS a mémorisé le numéro de la bonne sprite, c'est juste qu'en rechargeant il ne l'a pas appliquée correctement) |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 19:49 | |
| - Baguettator a écrit:
- - je n'ai pas de fonction on_event dans mon global script, il faut que j'en crée une ? Est-ce que tu aurais un modèle à me proposer ? La valeur eEventRestoreGame est une boléenne ou une variable ?
Si tu en as pas tu la crées, oui. Le type du premier paramètre est EventType, eEventRestoreGame est la valeur que tu veux que ce paramètre ait : - Code:
-
function on_event (EventType evenement, int data) { if (evenement == eEventRestoreGame) { // ton code } } - Baguettator a écrit:
- - j'imagine que je pourrais faire une immense boucle qui scanne tous les GUI et tous les boutons de chaque GUI, et qui fait quelque chose comme : "bouton\[i\].NormalGraphic = bouton\[i\].Graphic" ? (en partant du principe qu'en sauvegardant, AGS a mémorisé le numéro de la bonne sprite, c'est juste qu'en rechargeant il ne l'a pas appliquée correctement)
Au contraire, je pense que Graphic a pas la valeur que tu veux, puisque ça correspond à ce qui est effectivement affiché, c'est-à-dire la mauvaise image d'après ce que tu décris. Ce que tu pourrais faire par exemple c'est créer une fonction qui se charge de changer la propriété NormalGraphic d'un bouton et en même temps mémorise cette valeur dans une cellule tableau indexée à l'index du bouton. Comme ça plutôt que directement changer NormalGraphic tu appelles cette fonction, et dans on_event tu regardes la valeur de la cellule du tableau pour chaque bouton et tu l'utilises pour forcer (à nouveau) NormalGraphic. _________________ 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 !
Dernière édition par Kitai le Mar 3 Nov 2020 - 19:52, édité 1 fois (Raison : bug d'affichage dans la citation à cause de [i]) |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 20:05 | |
| OK compris pour le premier paragraphe ! Pour l'histoire des sprite, est-ce que ce serait pas un truc du genre : - lorsque je sauvegarde, je scanne tous les GUI et leurs boutons, et je mémorise leur numéro de sprite (dans un tableau comme tu le dis). Et dans la fonction on_event (du coup elle sert immédiatement celle-là !), lorsque je charge une partie, j'appelle cette fonction. Normalement les valeurs numériques seront bien enregistrées, restera juste à AGS de forcer les NormalGraphic. C'est bien ça ? [EDIT] OUI ça marche !!! Content d'y être parvenu. Encore une preuve que j'ai bien progressé en programmation, mais ce n'est pas comme si j'avais eu de mauvais profs Merci à ceux qui hantent ce forum ! Juste au passage : ça ressemble à un bug de l'éditeur AGS, non ? A signaler aux développeurs ? |
|
| |
valoulef Délégué de la tasse bleue
Nombre de messages : 1791
Age : 35
Localisation : Condate
Date d'inscription : 01/08/2011
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 21:43 | |
| - Baguettator a écrit:
- Juste au passage : ça ressemble à un bug de l'éditeur AGS, non ? A signaler aux développeurs ?
Oui ça a l'air d'y ressembler. Si tu maîtrises l'anglais tu peux toujours en toucher deux mots sur le forum officiel (après y'a peut-être autre chose qui m'échappe). @Kitai la profondeur de tes connaissances en AGS m'impressionneront toujours _________________ Vous êtes déjà allés à Condate ? Ils ont un petit vin qui à un goût de pierre à catapulte. C'est Toutatis en culotte de velours si j'ose m'exprimer ainsi.
|
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Mar 3 Nov 2020 - 22:10 | |
| - valoulef a écrit:
- @Kitai la profondeur de tes connaissances en AGS m'impressionneront toujours
À croire que j'ai lu la documentation en entier plusieurs fois _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Sam 14 Nov 2020 - 20:36 | |
| Eheh Alors je crois avoir une piste de réponse pour ce problème : la place du script de sauvegarde dans le globalscript. J'ai suivi ce tutoriel pour mettre en place ma sauvegarde : https://www.adventuregamestudio.co.uk/wiki/Creating_Custom_Save_and_Load_DialogsMais dans le paragraphe "Script the Save Button", c'est marqué ceci : "It is important that anything you want to do when saving is placed before/above the "SaveGameSlot()" commands. Anything below "SaveGameSlot()" will be executed, but NOT saved into the file, because it occurs after the save command. " Cela voudrait dire que le jeu ne sauvegarde pas (ou mal) ce qui est noté en-dessous de ce script ? Devrais-je mettre le script du bouton "save" (et peut-être tout le script de sauvegarde/chargement de partie) tout en bas du global script ? |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Dim 15 Nov 2020 - 16:54 | |
| - Baguettator a écrit:
- Cela voudrait dire que le jeu ne sauvegarde pas (ou mal) ce qui est noté en-dessous de ce script ? Devrais-je mettre le script du bouton "save" (et peut-être tout le script de sauvegarde/chargement de partie) tout en bas du global script ?
Non, dans la phrase que cites "below" s'entend comme désignant le code exécuté plus tard que la commande SaveGameSlot, typiquement du code placé plus bas que cette commande dans la même fonction, mais non pas plus généralement dans le même fichier script. Donc à moins que tu changes effectivement tes sprites après avoir exécuté la commande SaveGameSlot, le problème ne vient probablement pas de là _________________ 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 ! |
|
| |
Baguettator Cliqueur Amateur
Nombre de messages : 232
Date d'inscription : 21/05/2020
| Sujet: Re: Sauvegarde et Chargement : problème de sprite Lun 16 Nov 2020 - 11:05 | |
| Ah, ok je comprends mieux maintenant ! Par contre, je ne change pas les sprites APRES SaveGameSlot, donc je vais en toucher deux mots sur le forum Anglosaxon.
Merci ! |
|
| |
Contenu sponsorisé
| Sujet: Re: Sauvegarde et Chargement : problème de sprite | |
| |
|
| |
| Sauvegarde et Chargement : problème de sprite | |
|