Bonsoir,
Je veux pouvoir déplacer un sprite cliqué à l’aide des flèches gauche / droite.
J’ai compris comment créer la condition “sprite cliqué” en combinant “le curseur est sur” avec “clic gauche”. J’ai cherché à créer une action agissant sur une valeur globale nommée LocoChoisie qui prend alors comme valeur le nom du sprite cliqué.
Mon problème est que ce que je fais ensuite ne fonctionne pas :
ex : Flèche droite appuyée => ajouter à LocoChoisie une force de etc…
Peut-être que je n’utilise pas la bonne syntaxe ; que dois-je écrire pour remplacer le nom d’un sprite par la valeur de la variable qui contient ce nom ?
Merci de répondre à mon message.
Chaque locomotive est effectivement un objet différent. J’ai créé deux objets, chacun est constitué d’une image différente. Les deux objets sont présents en même temps sur la scène, et ceci en permanence (comme deux véhicules sur un parking). Ils se nomment “loc” et “loc2”. Je parviens à les faire changer de taille quand l’utilisateur clique dessus, mais pas à “piloter” uniquement la loco cliquée à l’aide des flèches du clavier.
Je vais me risquer à un premier message sur le forum que je découvre avec GDevelop:
Il ne faut pas que tu utilises une variable globale mais une variable que tu crée sur l’objet: (dans le menu “autres propriétés” de l’objet) C’est là que tu crée par exemple une variable “selection”
Tu crée ta condition “clic sur” (avec ta ruse) en y ajoutant selection=0 mais en action tu fixes la valeur de ta variable “selection” à 1.
Maintenant pour faire bouger ta loco il te faut une condition qui vérifie que selection =1 et que tu appuies sur une touche.
Pour déselectionner, tu crée une nouvel événement où selection=1 et “clic sur…” et en action tu refixes la valeur de selection à 0
Voilà le principe de base. Tu remarqueras que tu peux ainsi créer de multiples locos à partir du même objet mais qui vont ainsi avoir chacune un comportement lié à la valeur de selection.
cette méthode marche aussi très bien par exemple pour affaiblir un ennemi (crée une variable DansLeBaba que tu fixes à 10 et à chaque coup tu enlèves -1 à la valeur de la variable et quand le méchant arrive à 0, tu crée une condition qui l’explose. Chaque envahisseurs d’une même vague a ainsi sa propre durée de vie.