Pour vos problème ou demande d'aide concernant la création de jeux avec GDevelop.
By obirwan
#60598 Salut,
ça fait quelque temps déjà que j'utilise GDeV, :D très bon boulot!!!
j'ai une question, après avoir chercher sur le forum sans rien trouver.
Y' a t-il un moyen de récupérer les coordonnées X Y de l'endroit d'une collision de sprites??
User avatar
By ZP_142
#60599 Pas explicitement.

Cela dit tu peux tracer une ligne virtuelle entre les centres des deux objets et récupérer le milieu de cette ligne, ça te donnera une bonne idée de l'emplacement approximatif. (La ligne dont je parle est une image, il n'y a pas besoin de la tracer vraiment ;) )
User avatar
By Ajaar
#60623 salut c'est peut-être pas la soluce, mais une peut-être une piste. Si tu créais plusieurs points d'origine sur ton image et que quand ça rentre en collision avec un des points tu fais apparaitre ton sprite étincelle sur le point concerné?

Je sais pas si ça marche.

++
User avatar
By remix
#60632 L'objet en question a une forme compliqué ? Si c'est un cercle met un objet invisible autour et dirige le vers l'autre (chez pas si c'est très clair :lol: )
User avatar
By ZP_142
#60689 J'ai réfléchi un peu à ton histoire.

Si tes objets sont globalement de forme ronde ou carrée (=pas compliqués) tu peux créer un petit composant qui va calculer ça. Je m'explique. Je te conseille de prendre un papier et un crayon pour schématiser ça :)

Quand tu as une collision, récupère l'angle de collision (x entre 0 et 360° pour un objet, et x+180° pour l'autre, puisqu'ils sont opposés). Pense a l'éventuel angle déjà présent sur tes objets (si leur angle ne vaut pas 0). Récupère aussi la distance entre les centres des objets.

Ensuite, tu peux avec un petit algorithme deviner la distance entre le centre de ton objet et la fin de la texture de celui ci sur la droite qui relie les centres des deux objets, c'est à dire l'endroit précis sur l'image de l'objet où celui ci touche l'autre. Cette valeur est fonction de l'angle !
    Pour un objet rond, par exemple, c'est toujours la même (tous les points sont également espacés du centre).
    Pour un triangle, ça marchera aussi si tu trouve la bonne fonction : la valeur est variable.
    Pour un carré, la valeur varie entre [distance minimale entre le centre et une extrémité de texture, soit le milieu d'un côté] et [cette valeur]*sqrt(2).
    Pour un objet ayant plus de côtés, tu peux je pense l'assimiler à un rond, ou en enlevant une petite valeur suivant l'angle (au milieu d'un côté, la distance sera moins grande qu'a un sommet)

Si tu fais la même chose pour les deux objets, tu obtiendra pour chacun d'entre eux l'angle entre 0° et le point de collision (le sommet de cet angle étant le centre de l'objet), et la distance de ce centre. Ça devrait te permettre de créer tes effets assez précisément, surtout si tu fais la moyenne des deux valeurs.

Si tu te lances là dedans, tu en as pour facile une dizaine d'heures, mais tu devrais arriver à un résultat satisfaisant. Je te souhaite bon courage, hésite pas si tu as des questions :D