Heim >Backend-Entwicklung >C++ >Wie kann ich von einem Unity-Skript zum anderen auf Variablen und Funktionen zugreifen?
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!