[Variable Globale: Afficher une fenêtre d'entrée de texte]

Bien, comment faites vous pour qu’à la place de configurer une variable locale (scène) on puisse configurer une variable globale (global) histoire de mettre ce que l’utilisateur écrit justement dans une variable globale?

Certes, il est possible de créér une variable local avec une entrée de texte et d’ensuite de changer une variable globale en lui affectant la valeur de la variable locale… Mais bon, ça nécéssite 2 ACTIONS, moi j’aurais aimé le faire en 1 seule action. C’est à dire: directement lors d’une entrée de texte…

Alors, comment faites-vous ? Je n’ai pas trouvé :confused:

Il me semble qu’il y à une fonction toute prête lorsque tu veux modifier la valeur d’une variable. Tu as 4 choix possibles, dont “modifier la valeur d’une variable globale”.

C’est la seule solution. Pourquoi ? Car :

-Créer deux actions, une pour chacune des types de variables, est irréalisable. Ça doublerait ( voir triple si on considère les variables des objets ) le code nécessaire, ça doublerait les opérations que je devrait faire lors de la maintenance des ces actions, et ça doublerait la potentialité qu’un bug se cache la dedans. ( Et ça doublerait le nombre d’actions dans la liste, on finira par ne plus s’y retrouver )
-Pourquoi ne pas avoir plutôt l’action qui enregistre directement dans une variable globale ? Il est préférable d’avoir, dans tous langages confondus, des variables qui ont une portée ( une durée de vie ) aussi limitée que possible. Ici, les variables les plus adaptées étaient celle de la scène.

Si maintenant tu souhaite utiliser une variable globale ( ou une variable d’un objet ), alors il te faut rajouter une petite action après.

Vu comme ça, d’un point de vue développeur (code du logiciel et des traitements), j’avoues que ça risquera d’impacter sérieusement les performances de Game Develop (si on se réfères par exemple à un très très gros projet). Donc je comprends.

Ainsi, pour écrire une variable globale pour un texte.

Par exemple pour: Demander au joueur dans une scène précise son pseudo et réutiliser cette donnée écrite par le joueur dans une autre scène,

alors la meilleure solution (pour qui me lirait) reste:

  1. Crééz deux variables.
    une locale, (dans la scène (ayant par exemple le nom Scene1) où vous allez afficher une fenêtre d’entrée de texte) appellez là: tmpNomJoueur
    une globale, (dans le projet…) appellez là: NomJoueur

  2. Affichez dans la scène “Scène1” l’entrée de texte via l’Action prévue à cet effet, et affectez la valeur écrite (donc choisie par) le joueur en guise de pseudo à tmpNomJoueur

  3. Une fois cela fait, ajoutez une Action pour changer le TEXTE de la variable globale ayant pour nom “NomJoueur” en lui donnant le contenu de la variable locale de la scène “Scène1”, c’est à dire le contenu “tmpNomJoueur”.

  4. Désormais où vous souhaitez afficher le nom choisi par le joueur, vous n’aurez qu’à utiliser la variable globale: “NomJoueur” en mode TEXTE.