Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment :
Pokémon EV06 : où acheter le Bundle Lot ...
Voir le deal

 

 Phylactère

Aller en bas 
+17
Pierrec
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
Aller à la page : Précédent  1, 2, 3, 4, 5, 6
AuteurMessage
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue



Nombre de messages : 2907

Date d'inscription : 01/08/2006


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyDim 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.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
hanakin
Cliqueur Amateur
Cliqueur Amateur



Nombre de messages : 492

Date d'inscription : 12/09/2012


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyDim 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
Revenir en haut Aller en bas
http://dinomania.chez-alice.fr/index.htm
hanakin
Cliqueur Amateur
Cliqueur Amateur
hanakin


Nombre de messages : 492

Age : 58

Localisation : Angers

Date d'inscription : 12/09/2012


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyDim 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);
}
Revenir en haut Aller en bas
http://dinomania.chez-alice.fr/index.htm
Threepwood
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Threepwood


Nombre de messages : 144

Age : 51

Localisation : Hyères

Date d'inscription : 29/12/2012


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyDim 14 Fév 2016 - 18:52

on dirait que vous approchez d'une soluce petit à petit ! sourire
Revenir en haut Aller en bas
hanakin
Cliqueur Amateur
Cliqueur Amateur
hanakin


Nombre de messages : 492

Age : 58

Localisation : Angers

Date d'inscription : 12/09/2012


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyDim 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);
}
Revenir en haut Aller en bas
http://dinomania.chez-alice.fr/index.htm
Threepwood
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Threepwood


Nombre de messages : 144

Age : 51

Localisation : Hyères

Date d'inscription : 29/12/2012


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyDim 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 sourire


EDIT : ha t'as fait un condensé pendant mon post je look
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyDim 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)


Dernière édition par Kitai le Dim 14 Fév 2016 - 19:49, édité 1 fois
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
hanakin
Cliqueur Amateur
Cliqueur Amateur
hanakin


Nombre de messages : 492

Age : 58

Localisation : Angers

Date d'inscription : 12/09/2012


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyDim 14 Fév 2016 - 19:48

Merci pour la réponse je savais bien que tu trouverais un truc de mieux clin d'oeil
Revenir en haut Aller en bas
http://dinomania.chez-alice.fr/index.htm
Creamy
Disciple de la Grande Tasse Bleue
Disciple de la Grande Tasse Bleue
Creamy


Nombre de messages : 1266

Date d'inscription : 15/10/2007


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyLun 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,...)
Revenir en haut Aller en bas
http://creamy.unblog.fr/
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyLun 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.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
EricTlse
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
EricTlse


Nombre de messages : 2

Date d'inscription : 28/10/2020


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyMer 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.
Revenir en haut Aller en bas
Kitai
Délégué de la tasse bleue
Délégué de la tasse bleue
Kitai


Nombre de messages : 2907

Date d'inscription : 01/08/2006


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyMer 28 Oct 2020 - 14:38

Salut @EricTlse et bienvenue à toi !

Il y a un lien de téléchargement au tout début du premier message de ce sujet (cliquable uniquement après identification sur le forum, ce qui pourrait expliquer que tu l'aies loupé à la première lecture). Le fichier .scm se trouve directement dans l'archive téléchargée.

Comme le fait remarquer @Creamy juste au-dessus, il y a aussi un module par Snarky plus récent qui permet aussi d'afficher des phylactères.
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
EricTlse
C'est quoi la Tasse Bleue ?
C'est quoi la Tasse Bleue ?
EricTlse


Nombre de messages : 2

Date d'inscription : 28/10/2020


Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 EmptyMer 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.
Revenir en haut Aller en bas
Contenu sponsorisé





Phylactère - Page 6 Empty
MessageSujet: Re: Phylactère   Phylactère - Page 6 Empty

Revenir en haut Aller en bas
 
Phylactère
Revenir en haut 
Page 6 sur 6Aller à la page : Précédent  1, 2, 3, 4, 5, 6
 Sujets similaires
-
» Problème Phylactère avec Transparence et Scrolling...

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Modules et plugins-
Sauter vers: