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

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
biquetdesfamilles
Messages : 4
Inscription : 26 Mars 2020 15:55

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

Message par biquetdesfamilles » 26 Mars 2020 16:17

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é 2557 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é 2557 fois
Merci pour votre aide! :amen:

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

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

Message par EmileF » 26 Mars 2020 16:55

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;
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

biquetdesfamilles
Messages : 4
Inscription : 26 Mars 2020 15:55

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

Message par biquetdesfamilles » 26 Mars 2020 17:21

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é..

Avatar de l’utilisateur
Aelhan
Messages : 124
Inscription : 11 Déc 2019 23:00

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

Message par Aelhan » 26 Mars 2020 17:30

Parce que c'est "gameObject" et non "GameObject", la casse est très importante !
Celui qui pose une question risque cinq minutes d'avoir l'air bête.
Celui qui ne pose pas de question restera bête toute sa vie.

biquetdesfamilles
Messages : 4
Inscription : 26 Mars 2020 15:55

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

Message par biquetdesfamilles » 26 Mars 2020 17:50

Cela ne fonctionne je retrouve le même problème initial

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

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

Message par EmileF » 26 Mars 2020 18:49

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()
La différence entre l'intelligence et la stupidité est que l'intelligence est limitée.

biquetdesfamilles
Messages : 4
Inscription : 26 Mars 2020 15:55

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

Message par biquetdesfamilles » 26 Mars 2020 19:43

Effectivement vous avez raison, pourquoi faire simple lorsque l'on peut faire compliqué? :roll:
Cela fonctionne parfaitement, Merci beaucoup!

Répondre

Revenir vers « Scripting »