首頁 > 後端開發 > C++ > 如何在 Unity C# 中從外部腳本存取變數?

如何在 Unity C# 中從外部腳本存取變數?

Linda Hamilton
發布: 2025-01-11 07:39:43
原創
937 人瀏覽過

How to Access Variables from External Scripts in Unity C#?

從外部腳本存取變數:Unity C# 指南

Unity 中有效的元件間通訊通常需要存取其他腳本中的變數。本指南詳細介紹如何實現這一目標。

取得腳本組件參考

在另一個腳本中存取變數之前,您需要其腳本元件引用。當變數駐留在不同的遊戲物件中時,這一點尤其重要。 請依照以下步驟操作:

  1. 確保您有必要的使用聲明:using UnityEngine;
  2. 宣告一個變數來保存腳本元件。例如:public YourScriptName otherScript;(將 YourScriptName 替換為包含變數的腳本的實際名稱)。
  3. Start()方法中,使用otherScript = targetGameObject.GetComponent<YourScriptName>();取得腳本元件,其中targetGameObject是包含目標腳本的GameObject。

訪問變數

取得腳本引用後,存取其變數就很簡單了:

  • 修改變數:otherScript.yourVariable = newValue;
  • 讀取變數的值:int myValue = otherScript.yourVariable;

說明性範例

假設我們有 ScriptA.cs 和公共布林變數 myBool,我們希望從附加到不同 GameObject 的 ScriptB.cs 存取和修改它。

<code class="language-csharp">// ScriptB.cs
public GameObject targetObject; // Drag and drop the GameObject with ScriptA in the Inspector
public ScriptA scriptA;

void Start() {
    scriptA = targetObject.GetComponent<ScriptA>();
}

void Update() {
    if (scriptA != null) {
        scriptA.myBool = true; // Modify the boolean variable
        Debug.Log("Value of myBool: " + scriptA.myBool); // Read and print the value
    } else {
        Debug.LogError("ScriptA not found!");
    }
}</code>
登入後複製

請記得將包含 ScriptA 的 GameObject 指派給檢查器中的 targetObject 變數。 如果找不到 nullScriptA 檢查可防止錯誤。 這種方法可確保腳本之間的穩健且無錯誤的變數存取。

以上是如何在 Unity C# 中從外部腳本存取變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板