Boucles et tableaux Blueprint : For Each Loop, Array et While Loop
Dès que tu dois gérer plusieurs valeurs, par exemple les objets d’un sac, une seule variable ne suffit plus. Ce guide t’explique les tableaux (Array) et les boucles : comment ranger plusieurs valeurs, les retrouver et répéter une action sur chacune. Tout est vérifié sur la documentation officielle d’Epic Games.
Un tableau, c’est une liste
Un tableau, ou Array, range plusieurs valeurs du même type dans une liste. Exemples : les points de passage d’un garde, ou les objets d’un sac. Pour en faire un, crée une variable, puis à droite de son type, choisis Array (l’icône en grille).
Chaque élément a un numéro, son index. On compte depuis 0 : le premier élément est l’index 0, le deuxième l’index 1. Le nœud Length donne le nombre d’éléments. Avec 5 éléments, les index vont donc de 0 à 4.
Lire, ajouter, retirer, chercher
- Get lit l’élément d’un index. Si l’élément n’existe pas, comme l’index 5 d’une liste de 5, tu n’obtiens rien de bon. Vérifie d’abord avec Is Valid Index : branche-le sur un Branch et lis l’élément seulement par True.
- Add ajoute une valeur au bout de la liste.
- Remove retire toutes les copies d’une valeur, où qu’elles soient. Avec [Pomme, Clé, Pomme], retirer Pomme laisse [Clé].
- Remove Index retire seulement l’élément d’un numéro précis. Les éléments d’après reculent d’une place.
- Contains répond oui ou non : la valeur est-elle dans la liste ?
- Find donne l’index du premier élément qui contient cette valeur, ou −1 si elle n’y est pas. Un résultat de −1 veut donc dire « pas trouvé ».
For Each Loop : un tour par élément
Pour traiter chaque élément d’un tableau, utilise For Each Loop. Il fait un tour par élément, sans que tu comptes toi-même. Dans Loop Body, Array Element donne la valeur de l’élément et Array Index son numéro. Exemple : afficher chaque objet d’un tableau d’inventaire avec un Print String.
For Loop : un nombre de tours
Une boucle répète un morceau du fil autant de fois qu’il faut, en un éclair, puis passe à la suite. Compter de 1 à 5 avec cinq Print String est long, et jusqu’à 100 serait impossible.
For Loop lance sa sortie Loop Body une fois par numéro, de First Index à Last Index, les deux compris. Le pin Index donne le numéro du tour. De 0 à 3, il y a donc 4 tours : 0, 1, 2 et 3.
Quand tous les tours sont faits, la boucle part par Completed. Branche là ce qui doit arriver une seule fois, après la boucle. Si tu y mets un message sur Loop Body par erreur, il s’affiche à chaque tour. Attention : tous les tours se font d’un coup, dans la même image. Une boucle ne sert pas à attendre.
While Loop : tant que la condition est vraie
While Loop répète Loop Body tant que sa Condition est vraie. Le piège : si rien dans la boucle ne change la condition, elle ne s’arrête jamais. Le jeu se fige, puis Unreal coupe la boucle après un million de tours, avec une erreur.
Voir ce qui se passe : le breakpoint
Pour comprendre ce que fait une boucle, utilise un breakpoint.
- Sélectionne un nœud et appuie sur F9 : un petit signe rouge apparaît.
- Lance le jeu : tout se met en pause juste avant ce nœud.
- Survole un pin déjà passé pour lire sa valeur. S’il affiche « No debug data », appuie sur F10 pour avancer d’une étape.
- F9 une nouvelle fois enlève le breakpoint.
Questions fréquentes
Quelle boucle choisir pour parcourir un tableau ?
For Each Loop : il fait un tour par élément et donne sa valeur dans Array Element.
Pourquoi mon tableau de 5 éléments n’a-t-il pas d’index 5 ?
Parce qu’on compte depuis 0. Avec 5 éléments, les index vont de 0 à 4. Is Valid Index fait ce test pour toi.
Mon jeu se fige à cause d’une While Loop, pourquoi ?
Rien dans Loop Body ne change la Condition, donc la boucle ne finit jamais d’elle-même. Le jeu se fige, puis Unreal la coupe avec une erreur.
Sources officielles
- Blueprint Variables (documentation Epic)
- Is Valid Index (documentation Epic)
- Remove Item (documentation Epic)
- Find Item (documentation Epic)
- Flow Control (documentation Epic)
- Blueprint Debugger (documentation Epic)
À lire aussi : les variables Blueprint, les fonctions Blueprint et DataTable et Struct.
Tu veux t’entraîner sur les tableaux et les boucles avec des quiz et des mini-exercices ? Essaie-le dans un cours en leçons courtes, à ton rythme.
Apprendre Unreal Engine 5 gratuitement