Pour vos problème ou demande d'aide concernant la création de jeux avec GDevelop.
By Damien74
#65067 Bonjour,

J'essaye d'utiliser au mieux l'entrée de texte en utilisant "Faire = Entry.String() au texte de <nom d'un objet texte>"
Je détecte l'appui de la touche "Return" comme indicateur de fin d'entrée.

Cela marche parfaitement la 1ère fois car le buffer d'entrée de texte (ce qui est retourné par Entry.String() ) est vide. Imaginons que je rentre au clavier "damien" et que j'appuie sur Return... Je récupère bien la chaine "damien" comme valeur de mon objet texte.

Mais si je ré-exécute (parce que j'en ai besoin :) ) l'action "Faire = Entry.String() au texte de <nom d'un objet texte>", ce coup ci tout ce qui sera entré au clavier se rajoutera à la chaine "damien" que j'ai précédemment rentré au clavier...

Bref... comment remettre une chaine vide/"flusher" le buffer qui est retourné par Entry.String() ???

En vous remerciant par avance,
Cordialement,
Damien.
By Damien74
#65087 Bonjour,

Merci pour ta réponse... Mais Je ne la comprends pas bien... ou alors je me suis mal expliqué...

Quand on utilise l'action "Faire = Entry.String() au texte de <nom d'un objet texte>", on remplace (on n'ajoute pas...!) le texte d'un objet par la chaine de caractère retournée par Entry.String(). Donc si je tape "damien" mon objet Texte doit contenir "damien" (et c'est bien ce qui se passe...)

Donc quand j'appelle à nouveau (une seconde fois) l'action "Faire = Entry.String() au texte de <nom d'un objet texte>" le texte de l'objet devrait à nouveau être remplacé par Entry.String(). Donc si je tape "jacques" mon objet Texte devrait contenir "jacques"... Or il contient "damienjacques" !

C'est donc que le buffer d'entrée de caractères (ce qui est renvoyé par Entry.String() ) a besoin d'être remis à "" et non pas le texte de mon objet (ce que, je crois, tu proposes dans ta réponse)

D’où ma question... Existe t'il un moyen de flusher le buffer d'entrée de texte (pour que Entry.String() retourne "") AVANT la seconde exécution de l'action "Faire = Entry.String() au texte de <nom d'un objet texte>" ?

Ou alors il y a quelque chose qui m'échappe (ce qui est bien possible en regardant les jeux olympiques à 5h du matin :) )

Cordialement,
Damien.
By Damien74
#65088 Ah OK... J'ai (enfin) compris... Comme quoi regarder les jeux olympiques à 5h du matin et faire du GD n'est pas forcément compatible... :)

En imaginant qu'on a appelé "Entry" le nom de l'objet qui capture le texte entré au clavier.

Dans mon cas, avant chaque utilisation de l'action 'Faire = Entry.String() au texte de <nom d'un objet texte>' il faut que j'utilise au préalable l'action 'Faire = "" au texte en mémoire de Entry'... et cette dernière action fait exactement ce que je souhaitais... à savoir flusher le buffer d'entrée de texte (le remplacer par une chaine vide "")

A+
Damien.