Kanade Labo

かなで研究所

{unity:script/memo}他のオブジェクト内のスクリプトを読み取る

Unity初心者の かなで がネットで調べて、実践できた知識の覚書。
基本的に自分用備忘録の為、説明不備はご了承くださいm(_ _)m

黒字:デフォルト
赤字:今回追加
青字:自己解釈(一般解釈とはかけ離れてる事に注意!)

目標:test1スクリプト内のaaaの中身をtest2スクリプト内のbbbに代入する

↓参照元(「参照元」とオブジェクトの中のtest1というスクリプトファイル)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test1 : MonoBehaviour {
        public int aaa;    //publicを付けると他から読み込める。aaaというint型の変数。
	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
		
	}
}

 

 

↓参照先(「参照先」というオブジェクトの中のtest2というスクリプトファイル)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class test2 : MonoBehaviour {
        GameObject Objxxx;    //Objxxxは、GameObjectという型ですよ。と定義。

	// Use this for initialization
	void Start () {
		Objxxx = GameObject.Find( "参照元" );
                //参照元というGameObjectを探して、Objxxxに代入する。
                Debug.Log (Objxxx);
                //見つかればデバッグログに「参照元 (UnityEngine.GameObject)」と表示される
	}
	
	// Update is called once per frame
	void Update () {
		int bbb = Objxxx.GetComponent<test1>().aaa;
                //参照したいaaaがint型なので、参照先のbbbもintにする
                //Objxxxというオブジェクトの中のtest1というコンポーネントの中のaaaという変数の中身をbbbに代入。
                //↑参照元というオブジェクトを代入済     ↑スクリプト
                Debug.Log (bbb);
	}
}

-unity