| Problème Phylactère avec Transparence et Scrolling... | |
|
|
Auteur | Message |
---|
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Problème Phylactère avec Transparence et Scrolling... Mar 11 Aoû 2015 - 11:20 | |
| EDIT :Les quelques posts ci-dessus ne sont plus d'actualité et comme le sujet à dériver sur le mod Phylactère, j'ai renommé le topic. SUIVRE A PARTIR DU POST N°8. Voilà pour la petite explication Bonjour, Je souhaite créer un GUI pour les textes apparaissant avec Display, et ensuite pour les dialogues. J'ai relu le tuto sur les GUI, mais l'explication est trop sommaire, je comprends pas comment fonctionne concrètement la personnalisation. - Citation :
- - Options «Text Window» : En créant un nouveau GUI, vous pouvez choisir de créer un Text Window GUI au lieu d'un GUI simple. Cela vous permet par exemple de configurer vous-même l'aspect de la boîte d'affichage de texte qui apparaît, notamment si vous avez choisi une interface à la Sierra. En cochant cette option, le GUI se transformera en une boîte faisant apparaître plusieurs éléments à chaque coin et bordure du cadre. Déterminez simplement les graphismes qui apparaissent à ces endroits, ainsi que les couleurs dans la fenêtre. Vous pouvez ensuite aller dans le General Settings et demander à ce que ce soit ce GUI qui apparaisse quand un message s'affiche (ligne Custom Text Window GUI dans Text Output).
Par exemple, la taille du GUI, ou comment afficher le texte, etc.
Dernière édition par chefgeorges le Lun 15 Fév 2016 - 10:23, édité 3 fois |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Mer 12 Aoû 2015 - 13:25 | |
| Ça fait un petit moment que j'ai plus utilisé cette fonction, mais en gros en créant un GUI textuel AGS va directement générer tout ce dont tu as besoin du point de vue esthétique. Tu auras juste à remplacer les images utilisées pour les bords et les côtés (ces derniers étant extensibles horizontalement/verticalement). Tu auras aussi une étiquette (label) je crois, qui indique où le texte est affiché et quelle police est utilisée. Enfin dans le réglage Custon Text Window GUI tu entres le numéro ID du GUI en question. _________________ 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 ! |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Mer 12 Aoû 2015 - 13:54 | |
| Pouaah... quelle usine à gaz ! c'est hyper pas-intuitif ! Et puis je comprends rien je n'ai que des emplacement images !? comment AGS sait où afficher le texte ? Moi je voulais simplement créer un GUY tout bête pour accueillir les messages display et un autre pour les dialogues... c'est la seule solution ? |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Mer 12 Aoû 2015 - 14:30 | |
| Au fait, l'aide est un peu plus fournie que ce que tu rapportes. Tu ne peux pas spécifier de police de caractères, seulement une couleur. Le texte est affiché dans la fenêtre selon le padding défini dans les propriétés. _________________ 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 ! |
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Mer 12 Aoû 2015 - 15:00 | |
| Pour Topus, j'ai lâché l'affaire avec les text windows gui (mais je ne sais plus pourquoi) J'ai juste crée des GUI normaux qui affichent le bon texte, j'en ai crée 4 ou 5 de taille différentes. Plus d'infos ce soir. |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Lun 17 Aoû 2015 - 16:00 | |
| @Kitai: oui, mais j'avais pas plus compris le reste, lol @Billbis: Je crois que c'est la solution la plus simple, en effet. Comment tu as procédé ? |
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Lun 17 Aoû 2015 - 18:31 | |
| Oups, j'ai oublié de répondre. Alors maintenant je me souvient: j'ai pas utilisé les text windows GUI car on ne pouvait pas régler la position. Je voulais m'en servir pour Topus, comme d'un mouse over hotspot, mais sans souris. J'ai cette fonction dans un fichier de script: - Code:
-
void enterZone(String text, int x, int y, int size) { if (size == 1) { lTW_1.Text = text; gTW_1.SetPosition(x - GetViewportX(), y - GetViewportY() ); gTW_1.Visible = true; } else if (size == 2) { lTW_2.Text = text; gTW_2.SetPosition(x - GetViewportX(), y - GetViewportY() ); gTW_2.Visible = true; } else if (size == 3) { lTW_3.Text = text; gTW_3.SetPosition(x - GetViewportX(), y - GetViewportY() ); gTW_3.Visible = true; } else if (size == 4) { lTW_4.Text = text; gTW_4.SetPosition(x - GetViewportX(), y - GetViewportY() ); gTW_4.Visible = true; } else if (size == 5) { lTW_5.Text = text; gTW_5.SetPosition(x - GetViewportX(), y - GetViewportY() ); gTW_5.Visible = true; } }
void leaveZone() { gTW_1.Visible = false; gTW_2.Visible = false; gTW_3.Visible = false; gTW_4.Visible = false; gTW_5.Visible = false; } Que j'exporte avec import (mais bien sûr, et ils veulent nous faire croire que la programmation c'est logique): - Code:
-
import void enterZone(String text, int x, int y, int size=2); import void leaveZone(); Et que j'utilise comme ceci: - Code:
-
function region1_WalksOnto() { enterZone("Inside", 163, 370, 1); }
function region2_WalksOnto() { enterZone("Nude statue", 414, 660, 3); }
function room_Leave() { leaveZone(); }
function region_WalksOff() { leaveZone(); } Mon systéme n'est pas fait pour gérer les dialogues. Mais pour Topus, j'ai recodé un petit systéme moi même, c'est assez simple en fait. Ca t’intéresse aussi? Faut vraiment que je m'y remette et que je libère les sources... |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Mar 18 Aoû 2015 - 8:15 | |
| EDIT: Le fil de discussion commence vraiment ici Hmm... intéressant Si j'ai bien compris tu utilises un Label dont le texte changera en fonction de la variable size, c'est bien ça ? Y'a des trucs utiles (je penses aussi à d'autres applications possibles). Mais comme j'ai coché l'option Alway display text as speech je souhaitais créer un GUI où le texte saisi avec Display (ou Say) apparaitrait directement dans le GUI. Mais est-ce possible ?
Dernière édition par chefgeorges le Lun 15 Fév 2016 - 10:24, édité 1 fois |
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Mar 18 Aoû 2015 - 9:14 | |
| Ha mon avis, le plus simple et de te faire une fonction "Say" personnalisé qui gère tout ça... Comme je l'ai dit, et sauf erreur de ma part, les TextWindowGui sont par défaut au centre de l'écran. Sinon, as tu essayé Phylactere? De mémoire, l'esthétique de la bulle est customisable, mais le rendu est proche de ce que tu cherche a faire. Et aussi, pense a utiliser la fonction "rechercher -> remplacer" pour changer tout les "Say(" et "Display" en "Phylactere(" |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Mar 18 Aoû 2015 - 10:00 | |
| GÉNIAL !!! Super module ! En plus il me permettra d'apprendre des choses utiles sur les drawing ( pour faire des pas dans la neige... mais ça ce sera pour plus tard, lol) Merci beaucoup ! ( Je vais te dédier un autel si ça continue, lol ) |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Ven 21 Aoû 2015 - 11:29 | |
| J'ai un p'ti problème avec Phylactère Quand je le règle en transparency = true; le comportement n'est plus le même ! Le personnage s'arrête et le jeu semble en pause. J'ai tenté de contact en MP Asraroth, mais j'ai pas de réponse |
|
| |
Billbis Disciple de la Grande Tasse Bleue
Nombre de messages : 1346
Date d'inscription : 10/05/2012
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Ven 21 Aoû 2015 - 12:08 | |
| Tu peux aussi envoyer un MP a Kitai, c'est peut-être lui qui a tout cassé. |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Ven 21 Aoû 2015 - 13:30 | |
| - chefgeorges a écrit:
- Quand je le règle en transparency = true; le comportement n'est plus le même ! Le personnage s'arrête et le jeu semble en pause.
J'ignore pourquoi, mais ce comportement semble (partiellement) intentionnel. Il y a une ligne qui stoppe les déplacements du personnage lorsque la bulle est définie comme transparente, et le code pour faire que la bulle suive le personnage n'est actif que lorsque la bulle n'est pas transparente. En revanche je sais pas d'où vient la pause. Tu as spécifié quel mode pour passer les messages ? Clic, touche, timer ? _________________ 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 ! |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Ven 21 Aoû 2015 - 16:23 | |
| J'ai "mouse, keyboard or timer". Dans le code il y a effectivement cette partie : - Code:
-
// Arrêt du personnage si en mouvement if (phylactere.is_transparent) { if (this.Moving) this.StopMoving(); } int char_x = this.x; int char_y = this.y; int view_x = GetViewportX(); int view_y = GetViewportY(); et ça : - Code:
-
// Attente int tempo = FloatToInt(IntToFloat(str.Length) * IntToFloat(phylactere.speed) / 10.0); if (tempo < 40) tempo = 40; bool stop = false; while (!stop){ if (!phylactere.is_transparent) { bulle.Remove(); int nx = pos_x + (this.x - char_x) - (GetViewportX() - view_x); int ny = pos_y + (this.y - char_y) - (GetViewportY() - view_y); bulle = Overlay.CreateGraphical(nx, ny, ds.Graphic, true); } if (phylactere.skip_mode != eSkipOnlyKeyOrClick) tempo--; if (phylactere.skip_mode == eSkipKeyOrClick) { int wm = WaitMouseKey(1); if (wm == 1) stop = true; } if (phylactere.skip_mode == eSkipTimer) { Wait(1); } if (tempo == 0) stop = true; } // Efface la bulle ds.Delete(); screen.Delete(); bulle.Remove(); // Arrete l'animation Speech if (this.SpeechView > 0) { if (mode != ePhylactereThinking) { this.UnlockView(); } Si je masque : - Code:
-
if (phylactere.is_transparent) { if (this.Moving) this.StopMoving(); } Le personnage a une brève pause, puis continue. Par contre la bulle ne le suit plus très bien et ne disparait qu'après un clic. EDIT: d'ailleurs en transparence le scrolling semble, même sans ma manipulation ci-dessus, ne plus fonctionner correctement. La bulle suit mal le personnage. |
|
| |
chefgeorges Cliqueur Emérite
Nombre de messages : 502
Date d'inscription : 01/02/2008
| |
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... Mer 17 Fév 2016 - 2:58 | |
| Fais-moi penser à retoucher un peu le module dans les jours qui viennent, histoire qu'on fasse une petite mise à jour avec l'autre problème aussi (et alors on pourra aussi répondre proprement à slasher sur le forum anglophone). _________________ 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 ! |
|
| |
Contenu sponsorisé
| Sujet: Re: Problème Phylactère avec Transparence et Scrolling... | |
| |
|
| |
| Problème Phylactère avec Transparence et Scrolling... | |
|