ホームページ >バックエンド開発 >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.スクリプト参照の取得:

2 つのスクリプト、「ScriptA」と「ScriptB」について考えてみましょう。 「ScriptB」は、「ScriptA」内の変数「X」にアクセスする必要があります。 「ScriptB」はまず「ScriptA」への参照を取得する必要があります。両方のスクリプトが同じゲームオブジェクト上に存在する場合、「ScriptB」は以下を使用して「ScriptA」に直接アクセスできます:

public ScriptA scriptA;

3.ゲームオブジェクト間での参照:

「ScriptA」が別のゲームオブジェクトにアタッチされている場合、「ScriptB」にはゲームオブジェクトの参照が必要です。 「ScriptB」でパブリック変数を宣言します:

public GameObject objectA;

Unity エディターで、「ScriptA」を含むゲームオブジェクトをインスペクターのこのフィールドにドラッグ アンド ドロップします。

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。