ホームページ > バックエンド開発 > C++ > Unity C# で外部スクリプトから変数にアクセスする方法

Unity C# で外部スクリプトから変数にアクセスする方法

Linda Hamilton
リリース: 2025-01-11 07:39:43
オリジナル
945 人が閲覧しました

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

外部スクリプトから変数にアクセスする: Unity C# ガイド

Unity で効果的なコンポーネント間通信を行うには、多くの場合、他のスクリプト内の変数にアクセスする必要があります。このガイドでは、これを実現する方法について詳しく説明します。

スクリプトコンポーネントリファレンスの取得

別のスクリプトの変数にアクセスする前に、そのスクリプト コンポーネントの参照が必要です。これは、変数が別のゲームオブジェクトに存在する場合に特に重要です。 次の手順に従ってください:

  1. 必要な using ステートメントがあることを確認してください: using UnityEngine;
  2. スクリプトコンポーネントを保持する変数を宣言します。例: public YourScriptName otherScript; (YourScriptName を変数を含むスクリプトの実際の名前に置き換えます)。
  3. 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート