高效存取不同Unity元件中的變數和函數
本指南示範如何有效地存取和修改駐留在不同 Unity 腳本中的變數和函數,特別是解決您可能需要與遊戲物件互動以更改另一個腳本中的變數的場景。 雖然有解決方法,但下面概述的方法提供了更清潔且更易於維護的解決方案。
關鍵是在來源腳本中將目標變數和函數宣告為public
。 例如:
<code class="language-csharp">public class ScriptA : MonoBehaviour { public int playerScore = 0; public void UpdateScore(int score) { playerScore += score; } }</code>
現在,另一個腳本 (ScriptB) 可以存取 playerScore
並呼叫 UpdateScore
。 方法如下:
<code class="language-csharp">public class ScriptB : MonoBehaviour { private ScriptA scriptAInstance; void Start() { GameObject targetObject = GameObject.Find("NameOfGameObjectScriptAIsAttachedTo"); scriptAInstance = targetObject.GetComponent<ScriptA>(); // Access playerScore int currentScore = scriptAInstance.playerScore; // Call UpdateScore scriptAInstance.UpdateScore(5); } }</code>
此方法允許元件之間直接交互,使 Unity 專案更有組織性和可管理性。 請記得將 "NameOfGameObjectScriptAIsAttachedTo"
替換為包含 ScriptA
的遊戲物件的實際名稱。
以上是如何從 Unity 中的另一個元件存取變數和函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!