Impossible de lire une variable externe

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
cortoh
Messages : 159
Inscription : 22 Nov 2014 23:05

Impossible de lire une variable externe

Message par cortoh » 21 Mars 2015 09:50

Bonjour,
Pour vérifier une variable d'un autre script j'ai suivi les instructions trouvés sur ce forum viewtopic.php?f=7&t=3653#p22274 mais rien y fait ça ne fonctionne pas, y a t-il une méthode autre mis à part une Static bien sûr ?

Je me suis basé sur cet exemple de code trouvé sur ce forum.

Code : Tout sélectionner

var monScriptB : ScriptB;

function Start()
{
  monScriptB = GameObject.Find("ObjetB").GetComponent("ScriptB");
}

function Update()
{
  print("valeur: " + monScriptB.maVariable);
}

Avatar de l’utilisateur
LudlowFx
Messages : 1367
Inscription : 19 Sep 2013 05:50

Re: Impossible de lire une variable externe

Message par LudlowFx » 21 Mars 2015 09:59

Code : Tout sélectionner

private MaClassB maClassB;

private void Start()
{
    maClassB = new MaClassB();
}

private void Example()
{
    Debug.Log(maClassB.uneValeurDistantePublic);
}
Après si la class distante est de type scriptableObject il veut mieux préférer CreateInstance...
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

cortoh
Messages : 159
Inscription : 22 Nov 2014 23:05

Re: Impossible de lire une variable externe

Message par cortoh » 21 Mars 2015 22:52

Bonjour LudlowFx,

Alors c'est déjà beaucoup mieux, j'arrive désormais à lire la variable "action", cela dit il apparaît un problème c'est que la variable "action" est modifié pendant le Update le temps qu'un objet bouge en fait, et donc pendant l'action la variable n'est plus captée !?

J'ai également ce message d'avertissement, je ne sais pas si c'est en relation ?:
You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
UnityEngine.MonoBehaviour:.ctor()
MoveBloc1:.ctor() (at Assets/Scripts/MoveBloc1.js:1)
SelecCube:Start() (at Assets/Scripts/SelecCube.js:16)

Avatar de l’utilisateur
giyomuSan
Messages : 1799
Inscription : 09 Déc 2009 14:52
Localisation : Japon

Re: Impossible de lire une variable externe

Message par giyomuSan » 22 Mars 2015 04:59

Si ton script est dans la scene sur un object , n'utilise pas "new Monscript", car ce que tu fais la c instancier le script et pas recuperer l'instance du script dans la scene.

Si tu veux recuperer la reference d'un script sur un objet dans la scene Utilise GetComponent<MonScript>().taVariable.

Si ca marche pas c'est que tu te trompe quelque part pour cibler l 'object dans la scene qui contient le script ( le plus souvent c'est ca ).

Avatar de l’utilisateur
LudlowFx
Messages : 1367
Inscription : 19 Sep 2013 05:50

Re: Impossible de lire une variable externe

Message par LudlowFx » 22 Mars 2015 05:33

giyomuSan a écrit :Si ton script est dans la scene sur un object , n'utilise pas "new Monscript", car ce que tu fais la c instancier le script et pas recuperer l'instance du script dans la scene.
En effet autant pour moi, à force bosser sur les EditorWindow je n'ai pas pensé à ce détail en répondant :D
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

cortoh
Messages : 159
Inscription : 22 Nov 2014 23:05

Re: Impossible de lire une variable externe

Message par cortoh » 23 Mars 2015 07:20

Dommage que les statics ne soit pas recommandées, c'est tellement plus rapide, Merci à vous pour votre aide.

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: Impossible de lire une variable externe

Message par F@B » 23 Mars 2015 10:04

c'est pas plus rapide une Static, c'est que ça ne sert pas du tout a la même chose!!! si tu met une Static lorsque tu modifieras ta valeur elle se modifiera pour toutes les instances qui ont le component!
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

cortoh
Messages : 159
Inscription : 22 Nov 2014 23:05

Re: Impossible de lire une variable externe

Message par cortoh » 23 Mars 2015 21:10

Tout fonctionne correctement mais concernant le message d'avertissement il faut le zappé ou voir à le corrigé ?

Message d'avertissement:
You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
UnityEngine.MonoBehaviour:.ctor()
SelecCube:.ctor() (at Assets/Scripts/SelecCube.js:1)
MoveBloc1:Start() (at Assets/Scripts/MoveBloc1.js:21)

Avatar de l’utilisateur
LudlowFx
Messages : 1367
Inscription : 19 Sep 2013 05:50

Re: Impossible de lire une variable externe

Message par LudlowFx » 23 Mars 2015 21:43

cortoh a écrit :Tout fonctionne correctement mais concernant le message d'avertissement il faut le zappé ou voir à le corrigé ?

Message d'avertissement:
You are trying to create a MonoBehaviour using the 'new' keyword. This is not allowed. MonoBehaviours can only be added using AddComponent(). Alternatively, your script can inherit from ScriptableObject or no base class at all
UnityEngine.MonoBehaviour:.ctor()
SelecCube:.ctor() (at Assets/Scripts/SelecCube.js:1)
MoveBloc1:Start() (at Assets/Scripts/MoveBloc1.js:21)
Il serait bien de ne pas lire les réponses à son propre sujet de travers. Surtout que giyomuSan, et seulement cinq messages au dessus explique pourquoi...

Et par ailleurs ta question est vraiment osé. Demander si un programmeur doit zapper un message d'avertissement ou le corriger :roll:
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
ZJP
Messages : 5748
Inscription : 15 Déc 2009 06:00

Re: Impossible de lire une variable externe

Message par ZJP » 24 Mars 2015 00:13

LudlowFx a écrit : Et par ailleurs ta question est vraiment osé. Demander si un programmeur doit zapper un message d'avertissement ou le corriger :roll:
La Next (New?!) Gen. Pas assez "puissante" donc ça rabote... :mrgreen:

Verrouillé

Revenir vers « (Js) Javascript »