[RESOLU][DB-AL] Réactiver un piége

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
jetonpeche
Messages : 5
Inscription : 04 Mai 2019 18:22

[RESOLU][DB-AL] Réactiver un piége

Message par jetonpeche » 04 Mai 2019 18:39

Bonjour,
(Je suis débutant depuis quelques jours sur Unity 2019).

J'ai fait un script qui permet de supprimer le box collider d'un gameObjet quand on quitte une zone.

Cependant, je n'arrive pas à le faire reparaître après quelques secondes.

J'ai essayé des trucs avec les coroutines, les variables bool dans l'Update rien à faire.

Code : Tout sélectionner

public class PiegeTriggerExit : MonoBehaviour
{
    public GameObject plateforme;

    private void OnTriggerExit2D(Collider2D collision)
    {
       //Désactive la plateforme
        if (collision.gameObject.name == "Robot")
            plateforme.SetActive(false);
    }
}
Si quelqu'un à une solution je suis preneur car je ne voit plus comment faire.

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB-AL] Réactiver un piége

Message par Max » 04 Mai 2019 18:59

Hello,

Tu désactives le gameobject en fait visiblement.
L'idée de la coroutine paraissait bonne. Au moment où tu effectues ton plateforme.SetActive(false); tu lances une coroutine avec un WaitForSeconds qui au bout de la durée souhaitée, fera cette fois un plateforme.SetActive(true);
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
evereal
Messages : 109
Inscription : 06 Nov 2015 18:46

Re: [DB-AL] Réactiver un piége

Message par evereal » 05 Mai 2019 18:08

La coroutine est une bonne méthode
MAIS
Si le script est associé au gameobject que tu désactives, ses coroutines sont stoppées (ou supprimées, j'ai un doute).
Je te conseille donc d'avoir un script du style "PiegeManager" capable d'activer et de désactiver un piège et de le placer sur un gameobject vide.
“La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne... et personne ne sait pourquoi !”

jetonpeche
Messages : 5
Inscription : 04 Mai 2019 18:22

Re: [DB-AL] Réactiver un piége

Message par jetonpeche » 11 Mai 2019 00:51

Merci de vos réponses sa ma aidée j'ai pu réarme mon piège. :-D

Répondre

Revenir vers « (C#) CSharp »