Quand on développe un jeu vidéo, on doit très souvent faire communiquer les objets du jeu entre eux.
Sur Unity, il y a beaucoup de façon d’arriver à nos fins. Si vous êtes débutant, vous pouvez commencer par les méthodes ci-dessous qui sont les plus simples à appréhender.
Le ScriptA : c’est l’autre script
Dans cet exemple, le ScriptA possède uniquement une fonction Test()
using UnityEngine;
public class ScriptA : MonoBehaviour
{
public void Test()
{
print("Fonction Test");
}
}
On se trouve dans le ScriptB et on aimerait appeler la fonction Test() qui se trouve dans le ScriptA.
Première méthode : par l’éditeur de Unity
public class ScriptB : MonoBehaviour
{
//Dans l'éditeur Unity :
//Faites glisser le GameObject qui contient le ScriptA dans l'inspecteur, avant de lancer le jeu.
public ScriptA autreScriptDansUnAutreGameObject;
void Start()
{
//On peut maintenant atteindre la fonction Test() de ScriptA
autreScriptDansUnAutreGameObject.Test();
}
}
Deuxième méthode : cherche le script automatiquement dans la scène
public class ScriptB : MonoBehaviour
{
public ScriptA autreScriptDansUnAutreGameObject;
void Start()
{
//Trouve automatiquement un GameObject qui contient le ScriptA
autreScriptDansUnAutreGameObject = GameObject.FindObjectOfType(typeof(ScriptA)) as ScriptA;
//On peut maintenant atteindre la fonction Test() de ScriptA
autreScriptDansUnAutreGameObject.Test();
}
}






