Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] [Unity3D] NullReferenceExeption

Sujet résolu
11 avril 2016 à 18:33:03

Bonjour tout le monde, j'obtiens l'erreur suivante, NullReferenceException: Object reference not set to an instance of an object. Je sais déjà que le code incriminé est le "&& gameObject.name != Parent.name" dans la ligne du if(col.game...), cette erreur devrait apparaître si je n'avais pas initialisé la variable Parent, or celle-ci l'est quelques lignes plus haut. Cela fait un bon bout de temps que je m'arrache les cheveux à trouver une solution, pouvez vous m'aider ?

NB: la définition "GetComponent().parent = null;" est ici pour empêcher le projectile de suivre les mouvements du parent, en d'autres termes, je me sers juste du parent de l'objet pour en créer une référence.

GameObject Parent;
 void Start()
 {
     Parent = GetComponent<Transform>().parent.gameObject;
     //On déclare le joueur "parent" du projectile
     GetComponent<Transform>().parent = null;
 }
 
 void OnCollisionEnter2D(Collision2D col)
 {
     if (col.gameObject.tag == "Player" && gameObject.name != Parent.name)
     {
         GameObject[] Players = GameObject.FindGameObjectsWithTag("Player");
         
         Debug.Log("Appel de la fonction d'inversion de position: " + Players[1].name + "" + Players[0].name);
         Library.InversePos(Players[1], Players[0]);
         Destroy(gameObject);
         
         
     }
 }

Merci d'avance !

  • Partager sur Facebook
  • Partager sur Twitter
11 avril 2016 à 22:10:46

Hello,

Je ferme ici, sujet à suivre

  • Partager sur Facebook
  • Partager sur Twitter

Are you watching closely?