Page 1 sur 1

[DB-AL] Soucis de variables

Publié : 02 Oct 2019 11:39
par Malavia
Bonjour,
Il y a point qui m'échappe complètement.

Si j'écris dans Awake :

Code : Tout sélectionner

target = GameObject.FindGameObjectWithTag("Player").GetComponent<Transform>();
Plus tard, je peux très bien écrire target.position, c'est reconnu. Tout va bien.

par contre, quelques fois ça bloque, par exemple, quand j'écris dans Awake :

Code : Tout sélectionner

_text = GameObject.Find("Text").GetComponent<TextMesh>(); 
Plus tard, _text.text ou _text.Text n'est pas reconnu

Alors que finalement, si j'écris dans Awake

Code : Tout sélectionner

_t = GameObject.Find("Text");
puis plus tard

Code : Tout sélectionner

_t.GetComponent<TextMesh>().text = "yo";
là c'est reconnu.

Si quelqu'un pouvait m'expliquer ce mystère que vous avez surement déjà rencontré. :-D

Re: Variables

Publié : 02 Oct 2019 12:28
par DevAmat
Il y a une subtilité a connaitre quand on utilise la fonction "Find", c'est qu'elle ne va chercher que dans la liste des "GameObject" actifs dans la scène.

Je ne sais pas si c'est ton souci mais il faut y prêter attention.

Re: [DB-AL] Soucis de variables

Publié : 08 Oct 2019 14:27
par Malavia
Euh, non.. ça n'a pas de rapport avec Find()

Je viens de reproduire à nouveau aujourd'hui.

Code : Tout sélectionner

    private void OnTriggerEnter(Collider other)
    {
            // Dans le cas suivant, hidden n'est pas reconnu,
            // j'ai comme erreur : 'Component' ne contient pas de définition pour hidden
            Component ship = other.gameObject.GetComponent<SimpleShipController>();
            ship.hidden = true; 
            
            // et dans le cas suivant, ça passe !
            other.gameObject.GetComponent<SimpleShipController>().hidden = true; 
    }
    

Re: [DB-AL] Soucis de variables

Publié : 08 Oct 2019 15:18
par Alesk
Malavia a écrit :
08 Oct 2019 14:27

Code : Tout sélectionner

            // j'ai comme erreur : 'Component' ne contient pas de définition pour hidden
    
Et ça ne fait pas "tilt" dans ton esprit ? :mrgreen:

Re: [DB-AL] Soucis de variables

Publié : 08 Oct 2019 15:20
par Malavia
mmmh non.. :(

puisque other.gameObject.GetComponent<SimpleShipController>().hidden = true;
fonctionne..

Re: [DB-AL] Soucis de variables

Publié : 08 Oct 2019 16:20
par Alesk
Indices :
- quel est le type de ta variable "ship" sur ta ligne qui ne fonctionne pas ?
- quel est le type de l'objet sur lequel tu vas choper la propriété hidden sur la ligne où ça fonctionne ?

Tip : relis bien le message d'erreur :perv:

Re: [DB-AL] Soucis de variables

Publié : 08 Oct 2019 16:21
par boubouk50
ship est de type Component, en le passant en SimpleShipController, qu'est ce que cela donne?

Re: [DB-AL] Soucis de variables

Publié : 08 Oct 2019 16:22
par Alesk
boubouk50 a écrit :
08 Oct 2019 16:21
ship est de type Component, en le passant en SimpleShipController, qu'est ce que cela donne?
Raaaaah.... mais si tu viens griller mes jeux de piste, où va-t-on ? :roll:

Re: [DB-AL] Soucis de variables

Publié : 08 Oct 2019 17:19
par Malavia
Merci beaucoup les gars !!
En effet, c'est plus clair. It's make sense !

Re: [DB-AL] Soucis de variables

Publié : 08 Oct 2019 17:22
par boubouk50
Alesk a écrit :
08 Oct 2019 16:22
Raaaaah.... mais si tu viens griller mes jeux de piste, où va-t-on ? :roll:
Il va falloir passer tout le forum en versionning pour éviter de travailler sur le même post en même temps :D