| Phylactère | |
|
+17Pierrec Billbis Threepwood jetsetwilly RoccoGD samielatriyahoofr Cendar le Rouge googi Indy Kitai Crazy Legs jeanmarc Le fous de LUCASART Shai-la Godzillu Alph Eratz Asraroth 21 participants |
|
Auteur | Message |
---|
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Phylactère Dim 14 Fév 2016 - 15:48 | |
| Une solution est de jouer l'animation du personnage et le fichier audio correspondant au discours à chaque fois qu'on utilise Phylactere, comme ça : - Code:
-
player.LockView(player.SpeechView); player.Animate(player.Loop, 4, eRepeat, eNoBlock); aSalutLesGens.Play(); player.Phylactere("Salut les gens !"); player.UnlockView(); Et évidemment ça peut se simplifier en une fonction plus générale : - Code:
-
function Phil(this Character*, String texte, AudioClip* doublage) { this.LockView(this.SpeechView); this.Animate(this.Loop, 4, eRepeat, eNoBlock); if (doublage != null) doublage.Play(); this.Phylactere(texte); this.UnlockView(); } Le problème majeur que j'anticipe en revanche c'est la synchronisation labiale, là je vois mal comment faire, sinon avoir une copie du personnage hors de l'écran sur laquelle on lance la commande Say et dont on se sert pour copier les frames à chaque cycle. |
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Date d'inscription : 12/09/2012
| Sujet: Re: Phylactère Dim 14 Fév 2016 - 16:16 | |
| Salut kitai toi le roi du codage: vois ce que tu peux faire avec en rajoutant une variable a la place de &1 que l'on rajouterais a la fin de cEgo.Phylactere("tatatatat",",ePhylactereTalking,VARIABLE); EN METTANT CECI c.Ego.Say("&1"); A LA LIGNE 466 C'EST PAS MAL - Code:
-
Overlay* bulle = Overlay.CreateGraphical(pos_x, pos_y, ds.Graphic, true); cEgo.Say("&1"); // Attente J'ai fait le test j'ai du texte synchro avec une voix C'est peut etre pas tres clair mon explication Variable= une variable a mettre a la fin de la commande cEgo.Phylactere("tatatatat",ePhylactereTalking,VARIABLE); qui definirait le numero du speech et a la ligne 466 lancer le say avec cette variable cEgo.Say("VARIABLE"); LE MESSAGE SUIVANT EST PLUS EXPLICITE
Dernière édition par hanakin le Dim 14 Fév 2016 - 17:32, édité 1 fois |
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: Phylactère Dim 14 Fév 2016 - 17:18 | |
| bon petit essai j'ai rajouter une globale variable voix j'ai rajouter cela dans le header (String voix) import function Phylactere(this Character* , String s, PhylactereQueueMode Mode = ePhylactereTalking,String voix); ligne 466 du script j'ai mis ça cEgo.Say(String.Format("%s",voix)); cela fonctionne si je mets &1 comme variable de base dans la global variable - Code:
-
function cEgo_Talk() { cEgo.Phylactere("Talking to yourself is a sign of madness!",ePhylactereTalking);
} mais comment faire ça avec la commande du dessus en mettant la viariable a la fin? Exemple: cEgo.Phylactere("Talking to yourself is a sign of madness!",ePhylactereTalking,&1); J'ai une erreur ici (ligne 104): - Code:
-
function noloopcheck Phylactere(this Character* , String str, PhylactereQueueMode mode, String voix) { detail de l'erreur: phylactere234.asc(104): Error (line 104): 'voix' is a global var; cannot use as name for local Ca marche quand je fais ça en enlevant String voix: - Code:
-
function cEgo_Look() { voix="&2"; cEgo.Phylactere("Damn, I'm looking good!",ePhylactereTalking); }
function cEgo_Interact() { voix="&3"; cEgo.Phylactere("You rub your hands up and down your clothes.",ePhylactereTalking); }
function cEgo_Talk() { voix="&1"; cEgo.Phylactere("Talking to yourself is a sign of madness!",ePhylactereTalking); } _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
Threepwood Adepte de la Grande Tasse Bleue
Nombre de messages : 144
Age : 52
Localisation : Hyères
Date d'inscription : 29/12/2012
| Sujet: Re: Phylactère Dim 14 Fév 2016 - 18:52 | |
| on dirait que vous approchez d'une soluce petit à petit ! |
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: Phylactère Dim 14 Fév 2016 - 19:05 | |
| reflexion faites la deuxieme solution avec voix="&1"; est pas plus mal car phylactere pourras fonctionner aussi sans dialogues car avec la variable il manquera des parametres si on a pas de speech
tu peux essayer comme ça Threepwood juste pour voir ce que ça donne
Donc recap: Creation d'une variable global voix en string
dans le script phylactere ligne 466 juste avant //attente mettre: cEgo.Say(String.Format("%s",voix));
et dans les rooms:
function cEgo_Look() { voix="&2"; cEgo.Phylactere("Damn, I'm looking good!",ePhylactereTalking); }
function cEgo_Interact() { voix="&3"; cEgo.Phylactere("You rub your hands up and down your clothes.",ePhylactereTalking); }
function cEgo_Talk() { voix="&1"; cEgo.Phylactere("Talking to yourself is a sign of madness!",ePhylactereTalking); } _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
Threepwood Adepte de la Grande Tasse Bleue
Nombre de messages : 144
Age : 52
Localisation : Hyères
Date d'inscription : 29/12/2012
| Sujet: Re: Phylactère Dim 14 Fév 2016 - 19:19 | |
| Oulala je me suis un peu paumé dans tout ça ! bon de toute façon le doublage ça sera qu'a la fin et j'ai encore au moins 1 an de programmation a faire sur le jeu alors d'ici là on aura trouvé lol surtout si sur le forum ricain ils s'y mettent aussi EDIT : ha t'as fait un condensé pendant mon post je look |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Phylactère Dim 14 Fév 2016 - 19:23 | |
| Il y a une façon un peu plus élégante de faire je pense hanakin, c'est de récupérer le code en début de texte, comme le fait la fonction Say de base. Tu peux rajouter le code suivant au tout début de la définition de la fonction Phylactere : - Code:
-
String voice = ""; if (str.StartsWith("&")) { int i = 1; while (str.Chars[i] >= '0' && str.Chars[i] <= '9') i++; if (i > 1) { voice = str.Substring(0, i); str = str.Substring(i, str.Length-i); } } Ensuite tu utilises directement la variable textuelle voice dans la commande Say que tu utilises à la ligne 466 dont tu parlais plus haut (après avoir vérifier qu'elle n'est pas vide, avec la fonction String.IsNullOrEmpty) _________________ 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 Dim 14 Fév 2016 - 19:49, édité 1 fois |
|
| |
hanakin Cliqueur Amateur
Nombre de messages : 492
Age : 59
Localisation : Angers
Date d'inscription : 12/09/2012
| Sujet: Re: Phylactère Dim 14 Fév 2016 - 19:48 | |
| Merci pour la réponse je savais bien que tu trouverais un truc de mieux _________________ Ce qui est utile à beaucoup l'emporte sur les désirs du petit nombre. ( Spock) |
|
| |
Creamy Disciple de la Grande Tasse Bleue
Nombre de messages : 1266
Date d'inscription : 15/10/2007
| Sujet: Re: Phylactère Lun 19 Fév 2018 - 13:48 | |
| Il y a de la concurrence sur le marché de la bubulle. Comme raison de choisir son module, Snarky déclare que Phylactere ne marche pas bien en couleurs 32bit. Pourtant, je l'ai déjà fait fonctionner... Je me souviens juste d'un problème ponctuel de texte qui apparaissait dédoublé et en vert. Après, le module de Snarky propose d'autres fonctionnalités (gestion de la transparence,...) |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Phylactère Lun 19 Fév 2018 - 15:56 | |
| Ça a l'air cool ce qu'a fait Snarky. Et apparemment l'utilisation (au moins celle de base) semble assez proche de Phylactere pour qu'une simple redéfinition de la fonction Phylactere en un appel à SayBubble permette d'adapter le code déjà existant à ce module. _________________ 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 ! |
|
| |
EricTlse C'est quoi la Tasse Bleue ?
Nombre de messages : 2
Date d'inscription : 28/10/2020
| Sujet: Re: Phylactère Mer 28 Oct 2020 - 10:53 | |
| Bonjour, Je suis un tout nouveau utilisateur d'AGS. J'ai suivi les super tutos de Marion Poinsot et d'autres en version Anglaise. Je débute un court serious game pour me faire la main. J'ai lu sur votre forum que le module "phylactère" était très bien et parcouru les 6 pages de débat ... Mais ou puis-je le télécharger (csm)??? Je ne le trouve pas sur le site AGS officiel car us...
Je vous remercie pour votre écoute. Bonne journée. Eric. |
|
| |
Kitai Délégué de la tasse bleue
Nombre de messages : 2907
Date d'inscription : 01/08/2006
| Sujet: Re: Phylactère Mer 28 Oct 2020 - 14:38 | |
| _________________ 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 ! |
|
| |
EricTlse C'est quoi la Tasse Bleue ?
Nombre de messages : 2
Date d'inscription : 28/10/2020
| Sujet: Re: Phylactère Mer 28 Oct 2020 - 21:56 | |
| Merci KITAI, J'avais vu la première ligne mais le lien ne fonctionnait pas. Effectivement, le fait que je sois identifié a répondu a ma question. Je ne connaissais pas le module fait par Snarky. Je vais tester les deux. Merci pour cette réponse détaillée. Bonne continuation. |
|
| |
Contenu sponsorisé
| Sujet: Re: Phylactère | |
| |
|
| |
| Phylactère | |
|