Pour vos problème ou demande d'aide concernant la création de jeux avec GDevelop.
User avatar
By 2dpunk
#67171 Bonjour voilà mon problème :
Je code un petit prototype de système de combat pour mon jeu. Le but est de faire en sorte que les ennemis au corps à corps (ennemy_cc) aillent au contact, là pas de problème quelque soit le nombre d'instances du même objet.

Par contre pour les ennemis à distance (ennemy_dist), lorsque le joueur entre dans un périmètre (300px), il tir dans sa direction un objet "ball". Une variable d'objet (ennemy_shoot) de ennemy_dist permet de savoir si ennemy_dist doit tirer ou non en fonction des 300 pixels.
Tous se passe bien sauf quand plusieurs instances de l'objet "ennemy_dist" sont à porté du joueur, un seul ennemi tir sur le joueur au lieu de toutes ensembles.

Je me demande si c'est un problème d'instance d'objet et aussi de création de l'objet ball peut être au variable moins employées ? Il faudrait que j'éclaircisse de mon coté les différentes variables et leurs usages. :)

Voici le code :
shoot issue.jpg
shoot issue.jpg (103.22 KiB) Viewed 1244 times
Last edited by 2dpunk on Sun 8 Jul 2018, 11:44, edited 1 time in total.
User avatar
By Kink
#67172 Hello,

Mets des conditions de distances pour le déplacement et de tir dans une condition "pour chaque objet ennemi_dist". La distance, le timer de tir, et la position de chaque animation de tir doit partir de "chaque" objet. Ca devrait aller mieux :)
User avatar
By 2dpunk
#67176 Merci de m'aider :)

Donc si j'ai bien compris il faut bien que le tir parte de chaque instance, par contre je ne trouve pas la condition pour dire "pour chaque objet ennemi_dist" !
Étant sur la version 5 de GD je ne trouve pas lequel correspond.

Où alors tu me conseils de créer plusieurs objets ennemi_dist que je dois programmer un par un ? Ce que je ne préfèrerais pas voulant quelque chose de plus flexible. :)
User avatar
By 2dpunk
#67197 J'ai finalement réussi à arriver à mes fins avec les évènements "for each object" mais c'est un peu lourd et retord à faire sous GD5 pour le moment. :)

Il fallait indiquer précisément à chaque évènement quand il faut prendre en compte chaque instance de l'objet ennemi_dist. Maintenant les ennemi_dist n'attaquent player que quand ce dernier est dans leurs zones de 300px et de manières différencié. Je peux mettre 10 ou 40 ennemi_dist, ils attaqueront tous de manière indépendante.
Merci Kink j'ai mis un peu de temps mais j'ai réussi !