| problème d'affichage au chargement d'une sauvegarde | |
|
|
|
Auteur | Message |
---|
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mar 25 Aoû 2009 - 12:55 | |
| Le backgroung ça le fait que dans certaines conditions, et j'ai pas bien encore compris lesquelles.
Pour perdre de la vie faut chercher l'embrouille avec le mec de gauche. Mais ça va plus vite si tu appuie sur "L". Ca enlève 1 PV.
Chope la nouvelle version que j'ai mise en ligne (sur les anciennes, il fallait appuyer sur "V" pour enlever de la vie... mais bizarrement ça ne marchait plus).
Ah et utilise "W" pour arrêter le temps, ça peut être relou pour les tests, surtout à la vitesse à laquelle il défile. [...]
Bon... j'ai refait des tests sur 2 PC assez différents:
Concernant la jauge: En DirectDraw, parfois ça marche très bien, parfois ça déconne carrément (seulement l'affichage de la jauge), et ce quelque soit les PVs dès que je charge ou que je sauve une partie. En Direct3D, ça fait seulement un ptit trait blanc (sur la jauge).
Quant au background qui devient noir, ça le fait de temps en temps (quelque soit le PC visiblement) et c'est nettement plus embêtant. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mar 25 Aoû 2009 - 14:03 | |
| Aucun problème sur mon poste, mais je ne peux tester qu'en DirectDraw.
J'essayerai sur mon PC chez moi, ce soir en Direct3D. |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mar 25 Aoû 2009 - 14:21 | |
| Regarde "bug_background.jpg", dans le dossier habituel.
Conditions: -Direct3D -après avoir chargé une partie -PV=95 |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mar 25 Aoû 2009 - 14:25 | |
| Mhhh celui-là est réussi "bug_background+jauge" (toujours au même endroit) -Conditions: -DirectDraw -après avoir chargé une partie -PV=95 Et j'ai des choses très similaires sur un autre PC. |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mar 25 Aoû 2009 - 14:36 | |
| Celui là est vraiment problématique: "bug_jauge"
Conditions: -Direct3D -après avoir lancé une nouvelle partie dans le menu (accès au menu: en bas à droite de l'écran, clique sur le dernier bouton du GUI). -PV=100
Comme tu peux le voir sur l'image: "Vie: 100". Pourtant la jauge montre à peu près 60... Et dès qu'on change la valeur (en appuyant sur "L", par exemple), la jauge reprend la bonne valeur.
D'ailleurs dans tous les bugs d'affichage de la jauge, dès qu'on perd ou qu'on gagne un point de vie, la jauge reprend une valeur correcte (mais pour le background, ça marche pas, malheureusement). |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mar 25 Aoû 2009 - 14:39 | |
| Tu peux m'envoyer la sauvegarde stp ? |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mar 25 Aoû 2009 - 18:51 | |
| Bon ! ça le fait aussi chez moi... mais c'est complètement aléatoire. Ça va pas être facile de trouver d'où vient le problème |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 12:33 | |
| Oui, ça ne dépend visiblement pas du système sur lequel on lance le projet... et c'est assez aléatoire. Des fois ça fonctionne très bien.
Pour le background, c'est ptete dû à la tombée de la nuit que j'ai codée y a pas longtemps. J'utilise les commandes "DrawSurface" et "SetAmbientTint". Ca a ptete un lien non? Mais ça n'explique pas les soucis avec la jauge qui sont apparus bien longtemps avant ça (dès que j'ai mis la jauge je crois). |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 12:57 | |
| Ben la jauge utilise aussi les DrawingSurface... |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 14:01 | |
| Pour la jauge, il suffirait de rajouter 1 PV à chaque fois qu'une partie est chargée, vu que les bugs graphiques sur la jauge se résolvent à chaque variation des PVs. Après le joueur qui découvre ça peut l'utiliser pour faire du bug-exploit, mais ça ne servirait pas à grand chose vu qu'il suffira de rentrer chez soi ou de boire un coup pour récupérer toute sa vie.
Concernant le background, j'ai pas d'idée et c'est nettement plus gênant. |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 14:04 | |
| J'ai refait des essais pour le bug d'affichage du background: -le jour, pas de soucis -mais quand on charche une partie où la nuit a commencé a tombé... paf la moitié du background est noire. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 14:29 | |
| Le problème, c'est qu'on ne peut pas mettre d'instruction après le "RestoreGameSlot();"... En fait, si, mais elles sont exécutées avant que le jeu ne soit restoré. Donc çà marchera pas ton truc d'augmenter les points de vie. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 14:45 | |
| J'arrive décidement pas à reproduire ce bug Essaye de passer l'option "Save screenshots in save games" à "true", dans les General Settings... |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 16:04 | |
| - Asraroth a écrit:
- J'arrive décidement pas à reproduire ce bug
Tu parles du bug du background? Il est systématique chez moi quand j'enregistre une partie pendant la tombée de la nuit et que je la charge. - Asraroth a écrit:
- Essaye de passer l'option "Save screenshots in save games" à "true", dans les General Settings...
--> ne change rien. ___________ Concernant la jauge: - Asraroth a écrit:
- Le problème, c'est qu'on ne peut pas mettre d'instruction après le "RestoreGameSlot();"... En fait, si, mais elles sont exécutées avant que le jeu ne soit restoré. Donc ça marchera pas ton truc d'augmenter les points de vie.
Si, j'ai trouvé comment faire: Lorsque le GUI « gSaveGame » s'ouvre, la variable « chargee » prend la valeur « true ». Et dans la boucle du Global Scprit, j'ai mis: - Code:
-
if ((chargee == true) && (gSaveGame.Visible == false)) { Display ("hop"); gainvie = gainvie - 1; chargee = false; }
En rajoutant de la vie, ça ne marchait pas, même si j'initialise la jauge pour qu'elle puisse avoir comme valeur « 101 ». Du coup ça m'embête un peu .. le joueur va pas piger pourquoi il se retrouve avec 99 PV alors qu'il ne s'est rien passé... |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 16:49 | |
| Voilà, après cette modif, j'ai plus mon problème du PV qui se barre sans que le joueur comprenne ce qu'il se passe et on a pas le temps de voir la jauge déconner (sauf si on garde le curseur en bas de l'écran... du coup on voit la jauge merder pendant 1 seconde le temps que les autres GUIs se ferment. Mais c'est pas dramatique). - Code:
-
if (chargee2 == true) { //Display ("+1"); gainvie = gainvie + 1; chargee2 = false; }
if ((chargee == true) && (gSaveGame.Visible == false)) { //Display ("-1"); gainvie = gainvie - 1; chargee = false; chargee2 = true; }
|
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 18:28 | |
| Bonjour la bidouille ! :ihih:
Je te conseille de rajouter un commentaire à côté du bloc pour dire que çà sert à contourner le bug d'affichage de la jauge au moment de la restauration d'une partie. Si jamais, tu dois revenir dans ton prog dans 6 mois, tu risques d'avoir oublié pourquoi il y a çà...
Pour ton bug de background, tu peux ajouter des variables qui ont la valeur de la teinte... Avant de sauvegarder, tu remets la teine normale. Et après chargement, tu remets la teinte indiquée par tes variables.
Autre idée pour la jauge... Avant de sauvegarder, tu fermes le GUI.. comme çà pas de problème (vu que c'est un GUI "Y-pos"), et t'auras plus besoin de tes +1 -1 sur le compteur de vie. |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Mer 26 Aoû 2009 - 21:55 | |
| - Citation :
- Je te conseille de rajouter un commentaire à côté du bloc pour dire que çà sert à contourner le bug d'affichage de la jauge au moment de la restauration d'une partie.
Si jamais, tu dois revenir dans ton prog dans 6 mois, tu risques d'avoir oublié pourquoi il y a çà... Oui, commenter mon code, c'est ce que commence à peine à faire en voyant comme tu dis que j'ai oublié à quoi servent certaines choses... - Citation :
- Pour ton bug de background, tu peux ajouter des variables qui ont la valeur de la teinte... Avant de sauvegarder, tu remets la teine normale. Et après chargement, tu remets la teinte indiquée par tes variables.
J'y ai pensé, mais je ne parviens pas à réinitialisé le background initiale de la room sans la recharger complètement avec un « cEgo.ChangeRoom () ». Une idée? - Citation :
- Autre idée pour la jauge... Avant de sauvegarder, tu fermes le GUI.. comme çà pas de problème (vu que c'est un GUI "Y-pos"), et t'auras plus besoin de tes +1 -1 sur le compteur de vie.
Fermer le GUI avant de sauver? Je vois pas ce que ça change. Et ce quoi un GUI « Y-pos »? |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Jeu 27 Aoû 2009 - 7:01 | |
| - Citation :
- J'y ai pensé, mais je ne parviens pas à réinitialisé le background initiale de la room sans la recharger complètement avec un « cEgo.ChangeRoom () ».
Une idée? Pourquoi tu veux la réinitialiser ? Tu as juste à mettre la teinte d'ambience normale. Autre idée, mais je sais pas si çà va marcher... Après le chargement fait : - Code:
-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground(); surface.Release(); - Citation :
- Fermer le GUI avant de sauver? Je vois pas ce que ça change. Et ce quoi un GUI « Y-pos »?
Ca veut dire qu'il apparait quand la souris passe sur une certaine position en haut ou en bas de l'ecran. Il n'est pas toujours visible. |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Jeu 27 Aoû 2009 - 12:40 | |
| - Citation :
- Pourquoi tu veux la réinitialiser ? Tu as juste à mettre la teinte d'ambience normale.
La teinte d'ambiance normale? Avec « SetAmbientTint »? C'est pas cette commande là le problème, c'est « DrawSurface ». - Citation :
- Autre idée, mais je sais pas si çà va marcher... Après le chargement fait :
- Code:
-
DrawingSurface *surface = Room.GetDrawingSurfaceForBackground(); surface.Release();
→ ne fait rien. - Citation :
- Ca veut dire qu'il apparait quand la souris passe sur une certaine position en haut ou en bas de l'ecran. Il n'est pas toujours visible.
Ah je croyais que tu parlais du GUI gSaveGame. Super, le problème n'est pas résolu, mais on a pas le temps de le voir puisque quand on charge une partie: -le gSaveGame se ferme -pendant ce temps la vie varie -1 et +1 -et une fois qu'on regarde la jauge de vie, c'est impec. Merci Asraroth, mais le background j'ai pas d'idée et j'y tiens à la tombée de la nuit |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Jeu 27 Aoû 2009 - 13:34 | |
| [quote="googi"] - Citation :
- C'est pas cette commande là le problème, c'est « DrawSurface ».
Pourquoi faire tu utilises une DrawingSurface ? (la flemme de regarder le programme là) |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Jeu 27 Aoû 2009 - 14:09 | |
| --> Pour la tombée de la nuit. La room a 2 backgrounds. Le 2ème est une copie du premier en plus sombre.
J'utilise donc DrawSurface pour assombrir progressivement le background en fonction de l'heure. Si t'as une autre solution, je suis preneur. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Jeu 27 Aoû 2009 - 14:37 | |
| ah ok ! c'est une bonne idée çà... Par contre, le problème vient peut-être du fait qu'il y a une animation dans ton background (puisque 2 images : une claire et une sombre). Voici une autre solution : - tu mets un background complètement noir pour la room. - tu mets le background (chemin avec l'arbre) dans les sprites et pour gérer l'heure : - Code:
-
DrawingSurface* mainBackground = Room.GetDrawingSurfaceForBackground(0); mainBackground = DrawingSurface.DrawImage(0, 0, n°sprite du background, % de transparence en fonction de l'heure); mainBackground.Release();
|
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Jeu 27 Aoû 2009 - 17:51 | |
| J'ai fait à peu près ce que tu m'as dit, à savoir: - Code:
-
DrawingSurface* mainBackground = Room.GetDrawingSurfaceForBackground(0); mainBackground.DrawImage(0, 0, 350, trans); mainBackground.Release(); avec la variable « trans » qui commence à 100 et qui décroît progressivement. Ca fait un très joli.... …. Lever de Soleil.. et pas coucher. Si je fais l'inverse, c'est à dire commencer à 0 pour croître progressivement, il prend en compte le premier changement, mais pas les autres.. ça marche queudale. En intervertissant le background de la room et le sprite, ça ne marche pas non plus. Une idée? L'idéal serait que je puisse faire le coucher ET le lever du Soleil... et tout ça sans le bug d'affichage du background. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Jeu 27 Aoû 2009 - 18:24 | |
| Bizarre... çà devrait marcher !
Enfin est-ce qu'en faisant comme çà, tu n'as plus le bug de sauvegarde/chargement ? Si tu ne l'as plus, çà vaut la peine de creuser par là.. sinon, faudra trouver encore autre chose. |
|
| |
googi Adepte de la Grande Tasse Bleue
Nombre de messages : 119
Date d'inscription : 14/06/2009
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Ven 28 Aoû 2009 - 13:36 | |
| - Asraroth a écrit:
- Enfin est-ce qu'en faisant comme çà, tu n'as plus le bug de sauvegarde/chargement ? Si tu ne l'as plus, çà vaut la peine de creuser par là.. sinon, faudra trouver encore autre chose.
Alors le bug est toujours là (la moitié du background est noire), mais y a quand même du changement. En effet, dès que le GUI gSaveGame se ferme, le bug disparaît... le background redevient normal. Donc c'est déjà mieux. En plus t'as façon de faire est vachement plus pratique que ce que je faisais avant, ça me plairait vraiment que ça marche dans les 2 sens, pour la tombée de la nuit et lever du jour. Chope la dernière version si tu veux jeter un oeil (la 0.134). Tout ce qui concerne le jour et la nuit se trouve dans le scprit de la room 1. Ah et je t'ai envoyé un MP. |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Ven 28 Aoû 2009 - 16:18 | |
| Bon ! et bien çà progresse T'inquiète pas pour le levé/couché du soleil... c'est pas bien compliqué à faire. Enfin tu pourrais rajouter un soleil qui bouge en arc de cercle dans le ciel (et dans le temps ). Ok pour le MP, je vais voir çà... et çà polluera moins le forum. D'ailleurs, ton problème ne semble pas lié au module "Jauge"... faudrait faire un topic à part : "bug d'affichage après chargement d'une partie"... |
|
| |
Asraroth Disciple de la Grande Tasse Bleue
Nombre de messages : 1468
Age : 49
Date d'inscription : 20/10/2006
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde Lun 31 Aoû 2009 - 8:17 | |
| Voilà un bout de code pour gerer ton levé et couché du soleil : arrivé à une transparence de 80, ca repart dans l'autre sens jusqu'0, et ainsi de suite. - Code:
-
int transdir = 1; // sens (levé ou couché du soleil) int transloop = 0; // temporisateur int transasra = 0; // niveau de transparence
function room_RepExec() { transloop++; if (transloop == 10){ // modifie le 10 pour que çà aille + ou - vite transloop = 0; transasra = transasra + transdir; DrawingSurface* mainBackground = Room.GetDrawingSurfaceForBackground(0); mainBackground.DrawingColor = 0; mainBackground.DrawRectangle(0, 0, 640, 480); mainBackground.DrawImage(0, 0, 350, transasra); mainBackground.Release(); if (transasra < 1 || transasra > 80) transdir = transdir * (-1); }
|
|
| |
Contenu sponsorisé
| Sujet: Re: problème d'affichage au chargement d'une sauvegarde | |
| |
|
| |
| problème d'affichage au chargement d'une sauvegarde | |
|