[RESOLU][DB] Collisions Collider2D

Questions techniques liées à l’utilisation d'Unity (et n'entrant pas dans le cadre d'une des sections suivantes)
decs50
Messages : 12
Inscription : 05 Nov 2019 11:36

[RESOLU][DB] Collisions Collider2D

Message par decs50 » 05 Nov 2019 11:51

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

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Unity2D

Message par boubouk50 » 05 Nov 2019 11:56

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.
"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

decs50
Messages : 12
Inscription : 05 Nov 2019 11:36

Re: Unity2D

Message par decs50 » 05 Nov 2019 12:03

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 :

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);
        }
    }
}
 ! Message de : boubouk50
Utilise les balises CODE stp (5e du menu d'édition)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Unity2D

Message par boubouk50 » 05 Nov 2019 12:17

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.

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

decs50
Messages : 12
Inscription : 05 Nov 2019 11:36

Re: Unity2D

Message par decs50 » 05 Nov 2019 12:22

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
Sans titre.png
Sans titre.png (455.37 Kio) Consulté 2705 fois
Sans titre2.png
Sans titre2.png (461.55 Kio) Consulté 2705 fois

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Unity2D

Message par boubouk50 » 05 Nov 2019 12:31

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.
"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

decs50
Messages : 12
Inscription : 05 Nov 2019 11:36

Re: Unity2D

Message par decs50 » 05 Nov 2019 12:47

Désoler je vais paraître chiant :/ mais j'arrive pas a faire le Debug.Log
(Je débute)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Unity2D

Message par boubouk50 » 05 Nov 2019 12:52

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.
"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

decs50
Messages : 12
Inscription : 05 Nov 2019 11:36

Re: Unity2D

Message par decs50 » 05 Nov 2019 12:56

Voila le résultat de la Console
Sans titre.png
Sans titre.png (31.67 Kio) Consulté 2674 fois

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6221
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Unity2D

Message par boubouk50 » 05 Nov 2019 13:10

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.
"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

Répondre

Revenir vers « Unity le logiciel »