Simuler un tableau dynamique avec une variable structure

Dans GDevelop, vous pouvez utiliser une notation structure sur une action pour déclarer un enfant à votre variable structure :

Faire = 1 à la variable maVariableStructure["maVariableEnfant"]

NOTE : Tous les arguments entre crochets doivent être une chaîne (donc usage de guillemet).
CONSEIL : Utiliser la méthode VariableString() (au lieu de la méthode Variable()) pour récupérer la valeur texte d'une variable. Exemple : Faire = 1 à la variable maVariableStructure[VariableString(une_variable)]

On peut utiliser dès lors quasiment la même syntaxe pour accéder à la valeur d'une variable structure :

Faire = Variable(maVariableStructure[VariableString(une_variable)]) à la variable ma_variable

NOTE : La syntaxe utilisée dans le champ “nom” (le champ qui contient le nom de la variable) doit être encapsulé dans la fonction Variable() quand il est utilisé dans le champ “valeur” (le champ qui contient la valeur de la variable).
Exemple :

  • Pour le “champ nom”, on déclarera : maVariableStructure[VariableString(unevariable)] * Pour le “champ valeur”, on accède aux valeurs ainsi Variable(maVariableStructure[VariableString(unevariable)])

Donc, vous pouvez simuler un tableau dynamique (déclarer pendant une itération par exemple) :

Faire = 1 à la variable maVariableStructure[VariableString(ma_variable_compteur)].maVariableEnfant

et accéder dynamiquement à cette valeur :

Faire = Variable(maVariableStructure[VariableString(ma_variable_compteur)].maVariableEnfant) à la variable ma_variable

Ou accéder à la valeur d'un élément spécifique du tableau (dans cet exemple 5) :

Faire = Variable(maVariableStructure["5"].maVariableEnfant) à la variable ma_variable

Vous pouvez même utiliser des doubles crochets pour simuler un tableau à 2 dimensions :

Faire = 1 à la variable maVariableStructure[VariableString(ma_variable_compteur1)][VariableString(ma_variable_compteur2)].maVariableEnfant

Et accéder dynamiquement à sa valeur avec presque la même syntaxe (encapsulée dans la fonction Variable()) :

Faire = Variable(maVariableStructure[VariableString(ma_variable_compteur1)][VariableString(ma_variable_compteur2)].maVariableEnfant) à la variable ma_variable