Page 1 sur 1

[RESOLU] Référence qui disparaît lors du lancement

Publié : 26 Mars 2020 16:17
par biquetdesfamilles
Bonjour à tous!
Je viens quérir de l'aide suite à un petit problème qui n'est pas commun. Dans un projet Unity 2D, j'ai un script A attaché à un GameObject A, qui récupère un paramètre de l'Animator d'un GameObject B. Pour cela j'ai créer dans le script A une varaible publique pour relier le GameObject B comme suit :

Code : Tout sélectionner

public class ScriptA : MonoBehaviour
    public GameObject player;

    private void Start() {
        player = GetComponent<GameObject>();
    }
J'effectue via l'inspector un drag and drop pour faire la référence.
Capture1.PNG
Capture1.PNG (5.54 Kio) Consulté 2577 fois
Cependant lorsque je lance la séquence de jeu, la référence s'en va (remplace gameObjectB par "none" dans le champ permettant de déposer un GameObject)...
Capture.PNG
Capture.PNG (5.12 Kio) Consulté 2577 fois
Merci pour votre aide! :amen:

Re: Référence qui disparaît lors du lancement

Publié : 26 Mars 2020 16:55
par EmileF
salut,
parce que dans ta fonction Start, tu implémentes ta variable "player" avec un GetComponent<GameObject>() qui te renvoie un null.
Si tu veux implémenter ta variable avec le GameObject qui contient ton script il te suffit de mettre:

Code : Tout sélectionner

player = gameObject;

Re: Référence qui disparaît lors du lancement

Publié : 26 Mars 2020 17:21
par biquetdesfamilles
Merci pour votre réponse,
Lorsque j'applique le code que vous m'avait suggéré, Visual Studio me renvoi une erreur : GameObject est un type qui n'est pas valide dans le contexte donné..

Re: Référence qui disparaît lors du lancement

Publié : 26 Mars 2020 17:30
par Aelhan
Parce que c'est "gameObject" et non "GameObject", la casse est très importante !

Re: Référence qui disparaît lors du lancement

Publié : 26 Mars 2020 17:50
par biquetdesfamilles
Cela ne fonctionne je retrouve le même problème initial

Re: Référence qui disparaît lors du lancement

Publié : 26 Mars 2020 18:49
par EmileF
Mais pourquoi implémentes-tu ton player dans la fonction start ?

Pourquoi ne fais-tu pas glisser ton GameObject à partir de ta Hyérarchie sur la variable player dans l'Inspector tout simplement ?
et virer cette fonction dans ton Start()

Re: Référence qui disparaît lors du lancement

Publié : 26 Mars 2020 19:43
par biquetdesfamilles
Effectivement vous avez raison, pourquoi faire simple lorsque l'on peut faire compliqué? :roll:
Cela fonctionne parfaitement, Merci beaucoup!