Heim >Backend-Entwicklung >C++ >Wie kann ich von einem Unity-Skript zum anderen auf Variablen und Funktionen zugreifen?

Wie kann ich von einem Unity-Skript zum anderen auf Variablen und Funktionen zugreifen?

Susan Sarandon
Susan SarandonOriginal
2025-01-18 06:21:09618Durchsuche

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

Zugriff auf Variablen und Funktionen in Unity-Skripten

In Unity wird jedes Skript unabhängig ausgeführt, was den Zugriff auf Variablen oder den Aufruf von Funktionen von einem Skript in einem anderen erschwert. Mithilfe öffentlicher Mitglieder und Objektreferenzen kann jedoch eine Kommunikation zwischen Skripten hergestellt werden, die an verschiedene GameObjects angehängt sind.

Öffentliche Variablen und Funktionen

Der erste Schritt besteht darin, die Variable oder Funktion, auf die Sie zugreifen oder die Sie aufrufen möchten, im Skript als öffentlich zu deklarieren. Dadurch wird es für andere Skripte in der Szene sichtbar. In ScriptA würden Sie beispielsweise so etwas definieren:

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

    public int playerScore = 0;

    void Start() {

    }

    public void doSomething() {

    }
}</code>

Objektreferenz

Um von einem anderen Skript aus auf eine Variable oder Funktion zuzugreifen, benötigen Sie einen Verweis auf das GameObject, an das das gewünschte Skript angehängt ist. Dies kann mit der GameObject.Find-Funktion erreicht werden, die den Namen des GameObjects als Parameter verwendet. Sobald Sie das GameObject erhalten haben, können Sie die GetComponent-Funktion verwenden, um eine bestimmte Skriptkomponente abzurufen.

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

Sie können die Kommunikation zwischen verschiedenen Skripten in der Szene herstellen, indem Sie öffentliche Variablen festlegen playerScore oder öffentliche Funktionen aufrufen doSomething(). Mit diesem Ansatz können Sie das Interaktionsverhalten verschiedener Objekte koordinieren und komplexere Interaktionen in Ihrem Spiel erstellen.

Das obige ist der detaillierte Inhalt vonWie kann ich von einem Unity-Skript zum anderen auf Variablen und Funktionen zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn