首頁 >後端開發 >C++ >如何從 Unity 中的另一個元件存取變數和函數?

如何從 Unity 中的另一個元件存取變數和函數?

Barbara Streisand
Barbara Streisand原創
2025-01-18 06:17:08672瀏覽

How Can I Access Variables and Functions from Another Component in Unity?

高效存取不同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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn