【Unity】親オブジェクトのスクリプトの変数を取得する方法。
どうも、だらはです。
今回は、親オブジェクトのスクリプトの変数を取得する方法をご紹介します。
スクリプトの書き方
早速ですが、親オブジェクトのスクリプトの変数を取得する方法を記載します。
◆取得手順
- transform.parent.gameObjectから親のゲームオブジェクトを取得。
- 親のゲームオブジェクトからGetComponent<親のスクリプト名>()でスクリプトを取得。
◆親オブジェクトにアタッチするスクリプト
using UnityEngine;
public class SampleParent : MonoBehaviour
{
public float x = 10;
//private float x = 10;
}
◆子オブジェクトにアタッチするスクリプト
using UnityEngine;
public class SampleChild : MonoBehaviour
{
void Start()
{
GameObject objParent = transform.parent.gameObject;
SampleParent scParent = objParent.GetComponent<SampleParent>();
Debug.Log(scParent.x);
}
}
結果、コンソールビューに以下の出力値が表示されます。
ポイント
親オブジェクトのスクリプトの変数を取得するのに重要なのは、参照したい変数をpublic変数にすることです。
public変数にするとインスペクタWindowから値を変更することができます。
つまり、外部から値を変更できるようにする必要があります。
アクセス修飾子 | 概要 |
---|---|
public | 全てのクラスからアクセス可能 |
protected | 下現在のクラスとサブクラスからアクセス可能 |
なし | 現在のクラスと同じパッケージのクラスからアクセス可能 |
private | 現在のクラスからだけアクセス可能 |
以上、だらはでした。
ディスカッション
コメント一覧
まだ、コメントがありません