détruire le parent sans détruire l'enfant

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
Kaloverian
Messages : 121
Inscription : 10 Août 2016 03:03

détruire le parent sans détruire l'enfant

Message par Kaloverian » 25 Mars 2020 14:56

bonjour,

j'ai crée un code C# qui génère dynamiquement des objets aux positions des objets générés juste précédemment.Chaque
objet généré devient l'enfant de l'objet générateur.
problème:
une fois que l'objet généré a été crée dynamiquement,son générateur doit être détruit et alors ça bloque!!
Je suppose alors qu'il est impossible de détruire le parent sans détruire l'l'enfant.
1)Est-ce que le problème viendrait de là?
2)si oui,comment remédier à cela?

merci de votre aide

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5301
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: détruire le parent sans détruire l'enfant

Message par boubouk50 » 25 Mars 2020 15:17

Salut,
Si tu veux détruire le parent, les enfants sont détruits.
Donc, pour ne pas détruire les enfants il ne faut pas détruire le parent.
Faux paradoxe, puisqu'il suffit que les enfants n'ai plus ce parent pour qu'il soit détruit.
Donc pour détruire un parent sans détruire ses enfants, il faut qu'il n'est plus d'enfants, c'est à dire que les enfants ne soient plus ses enfants.
Désolé pour le pavé, je m'ennuie, j'ai envie d'écrire.

Il faut détacher les enfants avant la destruction. Si tu veux les garder en hiérarchie alors tu peux les attacher au grand-parent, c'est à dire le parent du parent.
"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

EmileF
Messages : 539
Inscription : 18 Mars 2017 19:39

Re: détruire le parent sans détruire l'enfant

Message par EmileF » 25 Mars 2020 16:42

salut,

il semblerait que ce soit la suite de ce post
viewtopic.php?f=89&t=17583#p121776

Comme te dit Boubouk pour détruire le parent il te faut sortir les enfants pour ne pas les détruire aussi.

Dans ton cas, pourquoi ne pas créer un Empty parent commun à tous. Tu pourras ainsi ajouter ou supprimer qui tu veux et les déplacer localement comme tu le souhaites
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Kaloverian
Messages : 121
Inscription : 10 Août 2016 03:03

Re: détruire le parent sans détruire l'enfant

Message par Kaloverian » 25 Mars 2020 18:28

l'instruction pour détruire le lien de parenté est-elle bonne?

Code : Tout sélectionner

GameObject objetA,objetB;

objetA.transform.parent=objetB.transform;  // parentage
objetB.DestroyChild();                                    //déparentage


Je suis sûr qu'il y a une faute.

EmileF
Messages : 539
Inscription : 18 Mars 2017 19:39

Re: détruire le parent sans détruire l'enfant

Message par EmileF » 25 Mars 2020 18:54

Tu as raison, c'est faut.

Là tu détruis l'enfant
la bonne méthode c'est:

Code : Tout sélectionner

objetA.transform.parent = null;
null ou un autre parent.
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

Répondre

Revenir vers « (C#) CSharp »