Forum d'entraide à la création de jeux d'aventure
 
PortailPortail  AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  
-47%
Le deal à ne pas rater :
SAMSUNG T7 Shield Bleu – SSD Externe 1 To à 89,99€
89.99 € 169.99 €
Voir le deal

 

 Un label Scrollable où serait sauvegardé tous les textes du jeu ?

Aller en bas 
3 participants
AuteurMessage
filoulefilou
Cliqueur Amateur
Cliqueur Amateur
filoulefilou


Nombre de messages : 359

Date d'inscription : 24/05/2010


Un label Scrollable où serait sauvegardé tous les textes du jeu ? Empty
MessageSujet: Un label Scrollable où serait sauvegardé tous les textes du jeu ?   Un label Scrollable où serait sauvegardé tous les textes du jeu ? EmptyLun 6 Jan 2020 - 16:17

Bonjour les amis,

J'aimerais implanter une fonctionnalité dans mon jeu, un truc tout con mais qui a son utilité dans un Jeu basé sur le texte.
Avoir une fenêtre de texte consultable et scrollable où serait enregistré tous les dialogues passés du jeu.

J'ai commencé a bidouiller dans mon coin, rien de bien foufou pour le moment.


Initialement mon idée c'était de faire un GUI avec un Label.

J'ai refait une fonction Say que j'ai appelé Parle() (original),
l'idée c'était de dire au jeu grâce a cette fonction que  this.Parle(msg)

Code:




function Parle(this Character*, String msg){


 int length;
 int Ligne;
 
 int Font_Height;
 int Font_Width;

 FontType police;
 police = gBandeau_text.Controls[0].AsLabel.Font;
 
//Je cherche la valeur en pixel de la taille de ma Police d'écriture de mon label, pour que ça fonctionne sur toutes les Polices.
 Font_Height = GetTextHeight("ABCDEFGHIJKLMNOPQRSTUVWXYZ!;?0123456",police, GetTextWidth("!;?0123456", police));
 Font_Width =  GetTextWidth("A",police);


//Je veux aussi la taille de mes textes
length = msg.Length * Font_Width;



 
Ligne = FloatToInt( IntToFloat(length) / IntToFloat(gBandeau_text.Controls[0].AsLabel.Width)   );
 

//Dès que j'entre un texte je fais en sorte de faire grossir la taille de mon Label de 1 ligne, pour permettre l'affichage du texte
gBandeau_text.Controls[0].AsLabel.Height += Font_Height + ( Ligne *Font_Height);


 
 
L1 = String.Format("[%s: %s[",this.Name,msg);

Save_txt = Save_txt.Append(L1);

this.Say(msg);


Et j'ajoute :    gBandeau_text.Controls[0].AsLabel.Text = String.Format("%s",Save_txt); dans le repeatedly_execute_always()

Et évidemment, ça ne fonctionne pas car arrive un moment, le Label n'affiche plus le texte, il ajoute des ... , pour signifier que le texte continue, mais visiblement, il est limité en caractère. Ce qui est très très relou en fait.
Je ne sais pas trop contourner cette limite du coup.

Je me suis souvenu d'un module de Krita BlocNote qui au final a toutes les fonctionnalités, car il permet d'afficher un texte dans un cadre, qui est scrollable et en plus il ne semble pas limité en nombre de caractères.
Je suis allé mater un peu le code (chapeau au passage)

Si j'ai bien compris, tu es passé par des DynamicSprites non ?
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


Un label Scrollable où serait sauvegardé tous les textes du jeu ? Empty
MessageSujet: Re: Un label Scrollable où serait sauvegardé tous les textes du jeu ?   Un label Scrollable où serait sauvegardé tous les textes du jeu ? EmptyLun 6 Jan 2020 - 20:15

Salut filoulefilou,

Ça fait un petit moment que j'ai pas regardé ce module, mais il me semble en effet que je suis passé par des DynamicSprites. Mais dans ton cas est-ce que tu pourrais pas passer par un List Box ?

_________________
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 !
Revenir en haut Aller en bas
http://admin.no.uchi.free.fr/dokuwiki-2008-05-05/doku.php
filoulefilou
Cliqueur Amateur
Cliqueur Amateur
filoulefilou


Nombre de messages : 359

Date d'inscription : 24/05/2010


Un label Scrollable où serait sauvegardé tous les textes du jeu ? Empty
MessageSujet: Re: Un label Scrollable où serait sauvegardé tous les textes du jeu ?   Un label Scrollable où serait sauvegardé tous les textes du jeu ? EmptyMar 7 Jan 2020 - 11:58

Alors l'idée m'a semblé lumineuse ! Je n'y avais pas pensé.
J'ai testé et ça fonctionne, oui mais non.

Le problème principal c'est qu'une List Box visiblement ne permet que des entrées de texte sur une ligne. Ce qui veut dire qu'il n'y a pas de retour à la ligne lorsqu'on dépasse le cadre, le texte déborde tout simplement. Ce qui est très problématique.
L'autre chose qui me dérange un peu, c'est qu'on ne peut pas utiliser le signe ''['' qui permet des retours à la ligne, ce qui est très pratique pour aérer un texte, surtout lorsque l'objectif de ce cadre texte est d'être consultable facilement par le joueur.
Revenir en haut Aller en bas
Arlann
Cliqueur Amateur
Cliqueur Amateur
Arlann


Nombre de messages : 286

Date d'inscription : 06/04/2016


Un label Scrollable où serait sauvegardé tous les textes du jeu ? Empty
MessageSujet: Re: Un label Scrollable où serait sauvegardé tous les textes du jeu ?   Un label Scrollable où serait sauvegardé tous les textes du jeu ? EmptyMar 7 Jan 2020 - 19:35

Je ne sais pas si c’est une solution possible mais une autre idée serait, grâce à une fonction dédiée, de stocker au fur et à mesure tous les dialogues dans un tableau, puis d’utiliser le label d’un gui pour afficher chaque string indépendamment avec des boutons + et - qui feraient varier l’index du tableau pour se déplacer comme dans un historique.
Revenir en haut Aller en bas
filoulefilou
Cliqueur Amateur
Cliqueur Amateur
filoulefilou


Nombre de messages : 359

Date d'inscription : 24/05/2010


Un label Scrollable où serait sauvegardé tous les textes du jeu ? Empty
MessageSujet: Re: Un label Scrollable où serait sauvegardé tous les textes du jeu ?   Un label Scrollable où serait sauvegardé tous les textes du jeu ? EmptyMer 8 Jan 2020 - 13:10

Arlann a écrit:
Je ne sais pas si c’est une solution possible mais une autre idée serait, grâce à une fonction dédiée, de stocker au fur et à mesure tous les dialogues dans un tableau, puis d’utiliser le label d’un gui pour afficher chaque string indépendamment avec des boutons + et - qui feraient varier l’index du tableau pour se déplacer comme dans un historique.


Pas con du tout cette idée !
Je vais tester ça.
Revenir en haut Aller en bas
filoulefilou
Cliqueur Amateur
Cliqueur Amateur
filoulefilou


Nombre de messages : 359

Date d'inscription : 24/05/2010


Un label Scrollable où serait sauvegardé tous les textes du jeu ? Empty
MessageSujet: Re: Un label Scrollable où serait sauvegardé tous les textes du jeu ?   Un label Scrollable où serait sauvegardé tous les textes du jeu ? EmptySam 18 Jan 2020 - 16:37

Testé Approuvé !

Merci coeur
Revenir en haut Aller en bas
Contenu sponsorisé





Un label Scrollable où serait sauvegardé tous les textes du jeu ? Empty
MessageSujet: Re: Un label Scrollable où serait sauvegardé tous les textes du jeu ?   Un label Scrollable où serait sauvegardé tous les textes du jeu ? Empty

Revenir en haut Aller en bas
 
Un label Scrollable où serait sauvegardé tous les textes du jeu ?
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Problème de text label @overhotspot@
» Copier un Display dans un Label.Text ?
» Système de sauvegarde...
» Des textes et des boutons !
» Sauvegarde F5/F7

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: