Bonjour tout le monde.
Donc voilà j'ai commencé un petit jeu 2D. En gros il ya des alumettes dans mon jeu et je voudrai que lorsque mon perso touche le souffre d'une allumette, une commande s'éxecute. Seulement voilà je n'arrive pas à faire comprendre à unity que lorsque le perso touche le souffre d'une allumette, il se produise quelque chose. ça doit faire 2-3 jours que je cherche et je n'ai toujours pas trouvé comment faire, et j'ai essayé 1000 choses (OnCollisionEnter2D, OnTriggerEnter2D, Collider.IsTouching ...). Actuellement ma scène est telle quelle : mon objet personnage à un rigidbody2D et un polygone collider2D, mon objet Allumette parent a un rigidbody2d et un sprite renderer, son enfant "souffre" et "bois" ont chaqun un polygone collider2D. Aidez moi svp
merci
cordialement
Problème pour détecter une Collision2D
-
- Messages : 85
- Inscription : 29 Août 2015 16:57
Re: Problème pour détecter une Collision2D
montre au moins un peu de code
-
- Messages : 85
- Inscription : 29 Août 2015 16:57
Re: Problème pour détecter une Collision2D
Inutile le jeu fonctionne bien j'ai juste un problème avec la détection perso/souffre. J'ai déjà essayé ça dans le script du perso :
void OnCollisionEnter2D (Collision2D other){
if(other.gameObject.name == "Souffre") {
.........
mais ça ne marche pas vu que le souffre n'a pas de rigidbody2D et ne peut donc pas rentrer en colision avec le perso. Et si je rajoute un rigidbody2d au souffre, il se détache (avec le collider autour du souffre) de l'alumette. Et si je rajoute un rigidbody2d et que je coche is kinematic pour que cela ne se produise pas, le souffre reste bien sa place, mais les alumettes se mettent à voler.
void OnCollisionEnter2D (Collision2D other){
if(other.gameObject.name == "Souffre") {
.........
mais ça ne marche pas vu que le souffre n'a pas de rigidbody2D et ne peut donc pas rentrer en colision avec le perso. Et si je rajoute un rigidbody2d au souffre, il se détache (avec le collider autour du souffre) de l'alumette. Et si je rajoute un rigidbody2d et que je coche is kinematic pour que cela ne se produise pas, le souffre reste bien sa place, mais les alumettes se mettent à voler.
Re: Problème pour détecter une Collision2D
Ton problème n'est pas très clair...
pour qu'une detection de collision se produise il faut qu'au moins un de tes deux GameObject possede un rigidbody.
Donc ton Player.
sur tes objet souffre tu met juste un collider avec la case trigger coché pour simplement signalé les collision, ton perso aussi aura un collider et dans le script tu choisi OnTriggerEnter().
pour qu'une detection de collision se produise il faut qu'au moins un de tes deux GameObject possede un rigidbody.
Donc ton Player.
sur tes objet souffre tu met juste un collider avec la case trigger coché pour simplement signalé les collision, ton perso aussi aura un collider et dans le script tu choisi OnTriggerEnter().
-
- Messages : 85
- Inscription : 29 Août 2015 16:57
Re: Problème pour détecter une Collision2D
Un grand merci, ça marche
J'avais déjà essayé cette commande avant mais j'avais dû oublier le 2D dans OnTriggerEnter2D et Collider2D.
Bon le seul petit défaut c'est que le souffre traverse les autres objets mais bon ça ne se voit pas trop vu qu'il est collé au bois de l'alumette, mais bon je suppose que c'est la seule possibilité pour que ça fonctionne.
J'avais déjà essayé cette commande avant mais j'avais dû oublier le 2D dans OnTriggerEnter2D et Collider2D.
Bon le seul petit défaut c'est que le souffre traverse les autres objets mais bon ça ne se voit pas trop vu qu'il est collé au bois de l'alumette, mais bon je suppose que c'est la seule possibilité pour que ça fonctionne.