[RESOLU][DB] Collisions Collider2D
[RESOLU][DB] Collisions Collider2D
Bonjour,
Voila je suis un tuto sur YouTube pour crée un jeux en 2D,mais le soucis c'est quand je mes un objet "Pièce" dans scène je la voie et quand je clique sur game elle disparaît pouvais vous m'aide svp merci
Voila je suis un tuto sur YouTube pour crée un jeux en 2D,mais le soucis c'est quand je mes un objet "Pièce" dans scène je la voie et quand je clique sur game elle disparaît pouvais vous m'aide svp merci
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Unity2D
Bonjour Decs50,
Là comme ça, clairement, non. Il nous faut plus d'informations.
Quel tuto? (si tu as le timing aussi dans la vidéo)
Qu'as-tu fais?
As-tu fais EXACTEMENT ce qu'il a fait dans le tuto? j'insiste sur le exactement, car juste changer une majuscule peut créer une erreur.
Là comme ça, clairement, non. Il nous faut plus d'informations.
Quel tuto? (si tu as le timing aussi dans la vidéo)
Qu'as-tu fais?
As-tu fais EXACTEMENT ce qu'il a fait dans le tuto? j'insiste sur le exactement, car juste changer une majuscule peut créer une erreur.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Unity2D
Bonjour, merci de me répondre le titre de la vidéo c'est "Création d'un Jeu 2D - TUTO Unity #2"au début de la vidéo il nous montre comment mettre une pièce puis écrit un script pour quand on va dessus avec notre personnage elle disparaît sauf que moi j'ai mis la pièce écrit le script comme lui et une fois qu'il a montre lui on voie la pièce dans game et quand j'ai fait game elle disparais
voici le script :
voici le script :
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Coindestroyer : MonoBehaviour {
public int value = 1 ;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.CompareTag("Player"))
{
Destroy(gameObject);
}
}
}
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Unity2D
Si tu fais exactement comme lui, tu auras le même résultat.
Si ta pièce ne se voit pas, il est possible qu'elle soit "ramassée" avant que tu t'en rendes compte.
Ici, lorsque le collider de la pièce entre en contact avec celui du perso, elle est détruite. Si le collider de ta pièce ou de ton perso est trop grand, les deux sont en contact dès le début donc la pièce est détruite directement.
Pour voir ce qui se passe, tu peux ajouter un Debug.Log à ton code, qui t'indiquera un commentaire en console.
Si ta pièce ne se voit pas, il est possible qu'elle soit "ramassée" avant que tu t'en rendes compte.
Ici, lorsque le collider de la pièce entre en contact avec celui du perso, elle est détruite. Si le collider de ta pièce ou de ton perso est trop grand, les deux sont en contact dès le début donc la pièce est détruite directement.
Pour voir ce qui se passe, tu peux ajouter un Debug.Log à ton code, qui t'indiquera un commentaire en console.
Code : Tout sélectionner
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Coindestroyer : MonoBehaviour {
public int value = 1 ;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}
private void OnTriggerEnter2D(Collider2D collision)
{
if (collision.gameObject.CompareTag("Player"))
{
//Ici, j'écris en console que la collision a bien eu lieu entre le joueur et la piece
Debug.Log ("Collision Piece et Joueur");
Destroy(gameObject);
}
//Ici, j'écris en console que la collision a bien eu lieu entre la piece et un autre collider
Debug.Log ("Collision Piece et Autre");
}
}
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Unity2D
merci mais j'ai déjà essayer j'avais vue sur un forum mais mon personnage est loin de la pièce au démarrage
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Unity2D
Je te demande pas d'avoir déjà essayé, je te demande de le faire. C'est pour savoir si il y a collision ou non. Donc, ajoute le Debug.Log dans ton code, comme je l'ai fait, et dit moi si tu as un message en console lors du Play.
Si tu as un message, alors il y a collision.
Sinon, ta pièce est mystérieusement déplacée: soit elle est enfant de quelque chose qui bouge (ça devrait pas)
Soit elle est dessinée derrière un autre gameObject (mis à part le fond, je ne vois pas)
Soit tu fais autre chose dessus que tu ne me dis pas.
Si tu as un message, alors il y a collision.
Sinon, ta pièce est mystérieusement déplacée: soit elle est enfant de quelque chose qui bouge (ça devrait pas)
Soit elle est dessinée derrière un autre gameObject (mis à part le fond, je ne vois pas)
Soit tu fais autre chose dessus que tu ne me dis pas.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Unity2D
Désoler je vais paraître chiant mais j'arrive pas a faire le Debug.Log
(Je débute)
(Je débute)
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Unity2D
Je t'ai mis le code. C'est quoi le souci?
Arf, désolé, j'ai oublié de mettre les guillemets pour le texte. Ma faute.
Arf, désolé, j'ai oublié de mettre les guillemets pour le texte. Ma faute.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Re: Unity2D
Voila le résultat de la Console
- boubouk50
- ModoGenereux
- Messages : 6221
- Inscription : 28 Avr 2014 11:57
- Localisation : Saint-Didier-en-Bresse (71)
Re: Unity2D
Donc ta pièce est bien détruite.
Donc c'est issu d'une collision entre la pièce et un gameObject dont le tag est Player.
Seul ton perso est tagué Player? Si oui, alors il est en collision directe avec la pièce.
Vérifie la taille de tes colliders: sur ton perso (et tous ses enfants) et ta pièce. Fait en sorte qu'ils soient bien ajustés.
C'est pour cela que j'insiste sur le fait de faire EXACTEMENT comme sur la vidéo. A vouloir aller trop vite, tu fais des erreurs (sans le savoir) puis tu es perdu.
Donc c'est issu d'une collision entre la pièce et un gameObject dont le tag est Player.
Seul ton perso est tagué Player? Si oui, alors il est en collision directe avec la pièce.
Vérifie la taille de tes colliders: sur ton perso (et tous ses enfants) et ta pièce. Fait en sorte qu'ils soient bien ajustés.
C'est pour cela que j'insiste sur le fait de faire EXACTEMENT comme sur la vidéo. A vouloir aller trop vite, tu fais des erreurs (sans le savoir) puis tu es perdu.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation