Maison >développement back-end >C++ >Comment puis-je accéder aux variables et aux fonctions d'un script Unity à un autre ?

Comment puis-je accéder aux variables et aux fonctions d'un script Unity à un autre ?

Susan Sarandon
Susan Sarandonoriginal
2025-01-18 06:21:09615parcourir

How Can I Access Variables and Functions from One Unity Script to Another?

Accéder aux variables et aux fonctions dans les scripts Unity

Dans Unity, chaque script s'exécute indépendamment, ce qui rend difficile l'accès aux variables ou l'appel de fonctions d'un script à un autre. Cependant, avec l'aide de membres publics et de références d'objets, la communication peut être établie entre des scripts attachés à différents GameObjects.

Variables et fonctions publiques

La première étape consiste à déclarer la variable ou la fonction à laquelle vous souhaitez accéder ou appeler comme publique dans le script. Cela le rend visible aux autres scripts de la scène. Par exemple, dans ScriptA, vous définiriez quelque chose comme ceci :

<code class="language-c#">public class ScriptA : MonoBehaviour {

    public int playerScore = 0;

    void Start() {

    }

    public void doSomething() {

    }
}</code>

Référence d'objet

Pour accéder à une variable ou à une fonction depuis un autre script, vous devez obtenir une référence au GameObject auquel le script souhaité est attaché. Ceci peut être réalisé en utilisant la fonction GameObject.Find, qui prend le nom du GameObject comme paramètre. Une fois que vous avez obtenu le GameObject, vous pouvez utiliser la fonction GetComponent pour récupérer un composant de script spécifique.

<code class="language-c#">public class ScriptB : MonoBehaviour {

    private ScriptA scriptInstance = null;

    void Start() {
        GameObject tempObj = GameObject.Find("NameOfGameObjectScriptAIsAttachedTo");
        scriptInstance = tempObj.GetComponent<ScriptA>();

        // 访问ScriptA中的playerScore变量
        scriptInstance.playerScore = 5;

        // 调用ScriptA中的doSomething()函数
        scriptInstance.doSomething();
    }
}</code>

Vous pouvez établir une communication entre différents scripts de la scène en définissant des variables publiques playerScore ou en appelant des fonctions publiques doSomething(). Cette approche vous permet de coordonner le comportement d'interaction de différents objets et de créer des interactions plus complexes dans votre jeu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn