[RESOLU] Comment détruire des GameObjects renommés ?

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Frederic
Messages : 36
Inscription : 24 Déc 2021 18:25

[RESOLU] Comment détruire des GameObjects renommés ?

Message par Frederic » 21 Jan 2022 21:24

Bonsoir

j ai un bout de code qui instancie un gamobject et les renomme, comment faire pour pour détruire les gameobject renommés ?


Code : Tout sélectionner

        for (int i = 1 ; i < 3 ; i++)
        {    
            position2  =Convert.ToSingle (position2 + FeneCreaOutil.Section1Dec ) ;
            var clone1 = Instantiate (Ligne);
            clone1.transform.Translate  (-position2,0,0);
            clone1.name = "LigneAB" + (-i).ToString ();
        }
Dernière édition par Frederic le 22 Jan 2022 07:58, édité 1 fois.

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

Re: Comment détruire des Gamobjects renommes ?

Message par Max » 21 Jan 2022 22:10

Bonsoir,

pour détruire un GameObject, tu passes par sa référence, donc changer son nom ne devrait pas poser de problème.
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

Frederic
Messages : 36
Inscription : 24 Déc 2021 18:25

Re: Comment détruire des Gamobjects renommes ?

Message par Frederic » 21 Jan 2022 22:58

Ca me supprime que le dernier gameobject !

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

Re: Comment détruire des Gamobjects renommes ?

Message par jmhoubre » 21 Jan 2022 23:50

Sans la ligne du Destroy, difficile de deviner ce que tu fais.

Deux méthodes :
1) tu détruis l'objet référencé :

Code : Tout sélectionner

GameObject go = Instantiate (myPrefab);

// Un peu plus loin, mais dans la même portée que go.
Destroy(go);
2) tu as plusieurs objets à instancier, et à détruire plus tard :

Code : Tout sélectionner

public class Example
{
	private List<GameObject> listToDestroy = new List<GameObject> ();
	
	// Méthode où les objets sont instanciés.
	private void MakeObjects ()
	{
		for (i = 0; i < objectToMakeNum; i++)
		{
			GameObject go = Instantiate(myPrefab);
			listToDestroy.Add (go);
		}
	}
	
	// Méthode où les objets sont détruits.
	private void DestroyObjects ()
	{
		foreach (GameObject go in listToDestroy)
		{
			Destroy (go);
		}
		listToDestroy.Clear ();
	}
}

Frederic
Messages : 36
Inscription : 24 Déc 2021 18:25

Re: Comment détruire des Gamobjects renommes ?

Message par Frederic » 22 Jan 2022 07:57

ca fonctionne, ;-)
Merci

Répondre

Revenir vers « Scripting »