【Unity】親オブジェクトのスクリプトの変数を取得する方法。

2022年8月25日

どうも、だらはです。
今回は、親オブジェクトのスクリプトの変数を取得する方法をご紹介します。

スポンサーリンク

スクリプトの書き方

早速ですが、親オブジェクトのスクリプトの変数を取得する方法を記載します。

◆取得手順

  1. transform.parent.gameObjectから親のゲームオブジェクトを取得。
  2. 親のゲームオブジェクトから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 現在のクラスからだけアクセス可能

以上、だらはでした。

スポンサーリンク

基礎

Posted by daraha_gm