Voir le sujet précédent :: Voir le sujet suivant |
Auteur |
Message |
halo Fantôme
Inscrit le: 11 Fév 2020
Messages: 55
|
Posté le: Lun Oct 28, 2024 9:35 Sujet du message: Questions diverses sur le développement et code du jeu |
|
|
Salut,
Je n'avais pas percuté que les passages à la ligne se faisaient avec X espaces dans le fichier texte, c'est étrange cette façon de faire, la preuve, ça pose problème si l'on modifie les phrases, ça pète toute la mise en forme.
Y a une raison particulière de ne pas avoir utilisé de séparateurs de textes, un format de fichier spécifique ou encore gettext, fluent, etc ?
Je n'arrive pas à déterminer dans les sources de ton jeu où est défini et calculé le nombre de caractères par ligne, c'est combien ? 45 ? J'imagine que c'est calculé en fonction de la largeur des plus grandes images (celles de 320x240) ou alors du cadre du texte et celle de la largeur d'un caractère (8px) selon un ratio ? Ou alors c'est en dur ?
Si je t'ennuie avec mes questions, dis-le, j'arrêterai
En tout cas, merci encore pour ces textes et tous ces traits d'humour, rien qu'en lisant le fichier texte, ça me fait toujours sourire
Et merci encore pour les versions Linux , j'apprécie grandement de pouvoir redimensionner la fenêtre du jeu comme bon me semble, je ne pouvais le faire avant avec la version Windows et Wine. |
|
Revenir en haut de page |
|
|
Vincent Administrateur
Primé d'or
Héros
Inscrit le: 05 Oct 2006 Age: 40
Messages: 4562
|
Posté le: Lun Oct 28, 2024 10:08 Sujet du message: |
|
|
En fait les passages à la lignes sont automatiques si un mot se retrouve coupé. Mais je préfère généralement le faire moi même dans le fichier texte directement afin d'avoir une idée à l'avance de la façon dont ce sera affiché.
Le nombre de caractères par ligne est calculé à l'affichage en fonction de la taille de la zone texte demandée. En gros je précise une largeur et une hauteur, et le reste est fait automatiquement. Les retours à la ligne sont effectués si un mot va dépasser de la largeur de la ligne, et s'il ne reste plus de ligne le texte va être splitté en deux et la suite sera affichée après avoir appuyé sur espace.
Tu peux voir par exemple dans src/game/game/textes/TextArea.cpp la méthode setTextId - qui est utilisée pour initialiser une zone de texte avec un texte spécifique - la ligne suivante : text->setBox(16 * 18, 16 * 4);
Ca signifie que la zone dans laquelle le texte doit s'afficher fait 288*64 pixels. C'est cette dimension qui va permettre la découpe du texte en ligne. |
|
Revenir en haut de page |
|
|
halo Fantôme
Inscrit le: 11 Fév 2020
Messages: 55
|
Posté le: Lun Oct 28, 2024 10:30 Sujet du message: |
|
|
Merci, je ne cherchais que dans les sources du moteur de jeu, pas fait attention que c'était dans les sources du jeu ×_×
Ce ne serait pas possible de s'appuyer sur un simple code qui s'occuperait de justifier un texte brut avec ajouts auto d'espaces et de retranscrire cela dans ton image ?
Par exemple avec un simple algo comme https://www.geeksforgeeks.org/justify-the-given-text-based-on-the-given-width-of-each-line/
Évidemment, il faudrait utiliser des espaces insécables avant certaines ponctuations et surtout que la font soit à chasse fixe.
J'essaierai de faire ça avec pygame pour voir si c'est tenable ^^
Une autre question, quid de la licence de ton jeu (code, images, etc) ? Il n'y a rien d'indiqué dans les sources du jeu, enfin, je n'ai pas vu quoi que ce soit concernant les licences diverses. |
|
Revenir en haut de page |
|
|
Vincent Administrateur
Primé d'or
Héros
Inscrit le: 05 Oct 2006 Age: 40
Messages: 4562
|
Posté le: Lun Oct 28, 2024 14:33 Sujet du message: |
|
|
Comme je t'ai dit j'ai déjà codé les retours à la ligne automatiques, c'est juste que je ne l'utilise pas trop. Mais si tu modifies les textes du jeu sans mettre les espaces pour le retour à la ligne alors l'algo prendra la main et le fera lui même.
Pour la licence j'aurais voulu mettre mes jeux en LGPL, mais c'est incompatible avec la licence Zelda qui appartient à Nintendo. En fait à cause de ça je ne peux pas mettre la moindre licence. |
|
Revenir en haut de page |
|
|
halo Fantôme
Inscrit le: 11 Fév 2020
Messages: 55
|
Posté le: Mer Oct 30, 2024 13:35 Sujet du message: |
|
|
Oui, j'avais bien compris pour les sauts de ligne, mais je parlais de justification de texte sur X lignes.
Ah, oui, c'est bien ennuyant ça de ne pouvoir mettre aucune licence à cause de cette limitation vis à vis de Nintendo |
|
Revenir en haut de page |
|
|
Vincent Administrateur
Primé d'or
Héros
Inscrit le: 05 Oct 2006 Age: 40
Messages: 4562
|
Posté le: Mer Oct 30, 2024 15:06 Sujet du message: |
|
|
Pour la justification du texte je vois mal ce que ça peut apporter au jeu...
Tu penses à un cas en particulier ? |
|
Revenir en haut de page |
|
|
|