Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

 

 Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?

Aller en bas 
3 participants
AuteurMessage
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? EmptyMar 7 Juin 2022 - 6:46

Salut la compagnie ! sourire

Question un peu débile, d'autant que j'arrivais à le faire au tout début, il me semble...
Mais j'utilise un .ttf et les lettres sont trop collées quand il y a un dialogue (espacement trop faible).

Question toute bébête, donc : Comment remédier à cela ?... Et pouvoir jouer là-dessus de manière précise ?

Et puis, tant qu'on est sur du travail de font clin d'oeil , je me demandais également comment afficher certains caractères, qui ne s'affichent pas "par défaut" lors d'un dialogue. En effet, par exemple...

Si je mets cela dans le script
Code:
cCharacter.Say("...");

Le personnage marque une pause, et n'affiche pas les trois points...

Or pour un cas tout particulier j'ai besoin que les points de suspension s'affichent de manière exceptionnelle.
Donc merci à celle ou celui qui aura la solution !! ^^

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Clique
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Clique


Nombre de messages : 106

Date d'inscription : 11/05/2022


Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Re: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? EmptyMer 8 Juin 2022 - 10:10

Il est pas évident à remonter celui-là...
Conversations a écrit:
If you just use ... as the text for a character to say, the game will pause briefly as if they are stopping to think, and nothing will be displayed.
Character.Say() a écrit:
The text displayed by this function looks identical to that used by the dialog system.

En résumé, ce que je comprend c'est que l'interprétation de "..." comme d'une pause remonte au système de dialogue lui-même.

Au départ, j'avais pensé à une de ces astuces :
Code:
cCharacter.Say( String.Format("%s", "...") );
Code:
cCharacter.Say( String.Format("%s..", ".") );

Mais c'est probable que ça ne fonctionne pas.
L'idée : String.Format est une fonction pour insérer des variables dans une chaine de caractères.

ça aurait éventuellement plus de chances de fonctionner avec la fonction Display.
Code:
Display ("%s..", ".");
Mais pour le coups c'est dissocié du dialogue du personnage. Selon moi ce serait pas un problème, puisque "..." est sensé être un silence : un "blanc" dans la conversation.
La différence dans le rendu, c'est qu'il s'afficherait de manière impartiale, alors que tu l'attribuait à un personnage particulier.

J'arrive pas à trouver dans la doc où et comment régler ce détail.
Si rien de tout ça ne fonctionne ou conviens, il y a peut-être d'autres astuces à tester :
Code:
//ajouter un espace
cCharacter.Say("... ");
cCharacter.Say(" ...");
cCharacter.Say(". . .");

//utiliser un autre caractère
cCharacter.Say("…"); // Horizontal Ellipsis (U+2026)
cCharacter.Say("···"); // middot (U+00B7)

//Ecrire d'une autre façon pour le même effet
cCharacter.Say("(...)");
cCharacter.Say("***");
cCharacter.Say("*silence*");

Le caractère Horizontal Ellipsis (U+2026) est la meilleure option (si ça ne pose pas de problème d'encodage/police)
ça se voit peut-être pas dans ce bloc de code à cause de la taille du texte et la police utilisée (largeur fixe), mais il s'agit de points de suspension écrit en un seul caractère.

Si t'essaie de le sélectionnner (ci-dessus) tu verras que c'est un seul caractère
Parfois dans des logiciels comme Word, quand tu tapes 3 points, le caractère est automatiquement remplacé par celui-ci.
Donc à priori, ça devrait fonctionner (ne pas être interprété par le script).
Si la police TTF que t'utilises n'est pas à largeur fixe, ça doit apparaitre exactement de la même façon :

… | ...


Une police à largeur fixe, c'est typiquement des lettres de machine à écrire (ex: Courrier) où tous les caractères/signes sont de largeur identique. C'est souvent la police par défaut dans les éditeurs de code. Fatalement dans ce cas particulier ça "écrase" le truc.
Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Re: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? EmptyMer 8 Juin 2022 - 15:18

Salut et merci encore !
J'ai essayé toutes les possibilités que tu énonçais et c'est celle-ci qui fonctionne le mieux chez moi:

Code:
cCharacter.Say("···"); // middot (U+00B7)

L'effet que je voulais marche super-du-tonnerre ! ^^

Et sans vouloir abuser : Saurais-tu comment revenir à la ligne, pour mes phrases un peu trop longues ?

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Clique
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Clique


Nombre de messages : 106

Date d'inscription : 11/05/2022


Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Re: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? EmptyJeu 9 Juin 2022 - 6:39

Si tu peux pas purement et simplement l'écrire comme ça (mettre ton retour à la ligne dans la chaine de caractères :
Code:
cCharacter.Say("Et sans vouloir abuser : Saurais-tu comment revenir
à la ligne, pour mes phrases un peu trop longues ?");

Tu peux essayer ça :
Code:
cCharacter.Say("Et sans vouloir abuser : Saurais-tu comment revenir\nà la ligne, pour mes phrases un peu trop longues ?");

Dans la plupart des langages :

\n

(antislashe N minuscule) produit un saut de ligne (nouvelle ligne)
Si tu fais le test et que ça apparaît tel quel cette façon d'écrire ne fonctionne pas.

Si ça n'apparait pas, ou apparait comme espace sans produire de retour à la ligne, c'est qu'il n'est pas possible d'afficher une même chaine de texte sur 2 lignes. Mais tu peux pousser le test avec ça :

\r\n

(antislashe R minuscule : retour de chariot et \n : dans certains OS ou logiciel ça doit être formaté ainsi)
ou

\l

(antislashe L minuscule)
https://stackoverflow.com/questions/15433188/what-is-the-difference-between-r-n-r-and-n#15433225

Sinon, faut voir dans les propriétés de dialogue s'il n'y a pas une option "multiligne" à paramétrer.
J'ai vu qu'il y avait une fonction ou un objet dans Global pour les options d'affichage de dialogue, mais je sais pas tout le détail (position du texte par exemple)
Revenir en haut Aller en bas
Shai-la
Ouvrière en Chef de la Grande Tasse Bleue
Ouvrière en Chef de la Grande Tasse Bleue
Shai-la


Nombre de messages : 6018

Age : 46

Localisation : Montpellier

Date d'inscription : 17/04/2006


Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Re: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? EmptyJeu 9 Juin 2022 - 7:23

Pour revenir à la ligne, j'utilise simplement le crochet [ :

cCharacter.Say("Oh là là mais cette phrase[est trop longue !");
Revenir en haut Aller en bas
http://marionpoinsot.fr/video
Clique
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Clique


Nombre de messages : 106

Date d'inscription : 11/05/2022


Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Re: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? EmptyJeu 9 Juin 2022 - 18:16

Revenir en haut Aller en bas
Jorkz
Cliqueur Emérite
Cliqueur Emérite
Jorkz


Nombre de messages : 666

Age : 40

Localisation : Montpellier

Date d'inscription : 16/07/2006


Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Re: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? EmptyDim 12 Juin 2022 - 4:51

Merci à vous deux pour ce précieux gain de temps ! clin d'oeil

Et sinon... est-ce que vous savez pour mon histoire d'espacement entre les lettres ?

Merci.

_________________
L' est si forte à la course qu'elle en sort de la phrase.  autruche
Revenir en haut Aller en bas
Clique
Adepte de la Grande Tasse Bleue
Adepte de la Grande Tasse Bleue
Clique


Nombre de messages : 106

Date d'inscription : 11/05/2022


Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Re: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? EmptyDim 12 Juin 2022 - 10:22

Jorkz a écrit:
Mais j'utilise un .ttf et les lettres sont trop collées quand il y a un dialogue (espacement trop faible).

Est-ce que tu peux publier une capture d'écran pour voir ?

C'est un réglage qui existe dans les logiciels de mise en page, mais pas toujours (donc pas certain que ce réglage soit dispo dans AGS)

En temps normal, la police est sensé avoir un espacement bien défini pour chaque lettres. S'il s'agit d'une police crée par un non-initié, c'est possible que ça soit raté, ou peut-être que l'espacement n'est correct que dans certaines tailles de texte. Certaines polices sont conçues pour n'être utilisée qu'à certaines tailles, et deviennent illisibles si on les met à une taille intermédiaire. La différence d'un seul point/pixel peut jouer.

Certaines polices sont déclinées en plusieurs fichiers. Tu trouveras peut-être d'autres fichiers TTF de la même police, avec différents styles/formats/tailles.

Après tester différentes tailles, différents fichiers, faudrait chercher sur le terme "letter-spacing" dans la doc d'AGS.
Revenir en haut Aller en bas
Contenu sponsorisé





Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty
MessageSujet: Re: Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?   Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ? Empty

Revenir en haut Aller en bas
 
Typo ttf = Comment espacer les lettres ? Afficher les points de suspension ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» afficher un texte permanent dans une room
» Afficher nom de l'objet au survol.
» [résolu] Bug ? Fonction afficher/cacher pour dialogues... ne fonctionne pas :(
» [Tuto] Afficher la valeur d'une variable
» Interrompre speech / say pour afficher un GUI

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Adventure Games Studio fr :: CREATION DE JEUX :: Questions / Réponses-
Sauter vers: