首頁 >後端開發 >C++ >如何在Unity3D中跨不同腳本存取變數?

如何在Unity3D中跨不同腳本存取變數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-11 11:01:42439瀏覽

How Can I Access Variables Across Different Scripts in Unity3D?

掌握 Unity3D 中的腳本間變數存取

跨不同腳本存取變數是 Unity3D 開發的常見障礙。本指南提供了清晰的逐步解決方案。

1。建立溝通:

核心原則是建立腳本之間的通訊路徑。這涉及獲取對相關腳本組件的引用。

2。取得腳本參考:

讓我們考慮兩個腳本,「ScriptA」和「ScriptB」。 「ScriptB」需要存取「ScriptA」內的變數「X」。 「ScriptB」必須先取得「ScriptA」的引用。如果兩個腳本駐留在同一個遊戲物件上,「ScriptB」可以使用以下方式直接存取「ScriptA」:

public ScriptA scriptA;

3。跨遊戲物件引用:

如果「ScriptA」附加到不同的遊戲對象,「ScriptB」需要遊戲對象的引用。 在 'ScriptB' 中宣告一個公共變數:

public GameObject objectA;

在 Unity 編輯器中,將包含「ScriptA」的 GameObject 拖曳到檢查器中的此欄位中。

4。擷取腳本組件:

現在,使用 GameObject 引用,「ScriptB」可以使用 GetComponent() 取得「ScriptA」:

ScriptA scriptA = objectA.GetComponent<ScriptA>();

5。訪問和修改變數:

透過「ScriptA」引用,「ScriptB」可以存取變數「X」:

bool x = scriptA.X;

此外,「ScriptB」可以在其 Update() 函數中修改「X」:

scriptA.X = true;

以上是如何在Unity3D中跨不同腳本存取變數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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