外部スクリプトから変数にアクセスする: Unity C# ガイド
Unity で効果的なコンポーネント間通信を行うには、多くの場合、他のスクリプト内の変数にアクセスする必要があります。このガイドでは、これを実現する方法について詳しく説明します。
スクリプトコンポーネントリファレンスの取得
別のスクリプトの変数にアクセスする前に、そのスクリプト コンポーネントの参照が必要です。これは、変数が別のゲームオブジェクトに存在する場合に特に重要です。 次の手順に従ってください:
using UnityEngine;
public YourScriptName otherScript;
(YourScriptName
を変数を含むスクリプトの実際の名前に置き換えます)。Start()
メソッドでは、otherScript = targetGameObject.GetComponent<YourScriptName>();
を使用してスクリプト コンポーネントを取得します。targetGameObject
はターゲット スクリプトを含むゲームオブジェクトです。変数へのアクセス
スクリプト参照を取得したら、その変数に簡単にアクセスできます。
otherScript.yourVariable = newValue;
int myValue = otherScript.yourVariable;
具体例
パブリック ブール変数 ScriptA.cs
を持つ myBool
があり、別のゲームオブジェクトにアタッチされた 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
を含むゲームオブジェクトをインスペクターの targetObject
変数に忘れずに割り当ててください。 null
チェックは、ScriptA
が見つからない場合のエラーを防ぎます。 このアプローチにより、スクリプト間の堅牢でエラーのない変数アクセスが保証されます。
以上がUnity C# で外部スクリプトから変数にアクセスする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。