他のオブジェクトにある配列の中身を、取得できるように、スクリプトを作ってみましょう。
要素0~2に入っている3つのオブジェクトを、他のスクリプトから取得し、コンソールに表示させます。
関連記事:
他のスクリプトの関数を実行する方法
他のスクリプトの変数を取得する
他のスクリプトのBoolを取得する
配列にあるオブジェクトを要素番号で呼び出す
指定した要素番号にオブジェクトを入れる
クリックしたオブジェクトを順番に配列に入れる
Resources.Loadを使ったファイル指定
スクリプトから配列に格納する
配列にある複数オブジェクトを一気に出す
アクセスされる(配列を持っている)側
空のオブジェクトを作成します。
Sphereを3個作成し、それぞれ名前をSphere1~3に変更します。
ArrayScript.csを作成し、GameObjectに追加します。
ArrayScript.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ArrayScript : MonoBehaviour { public static ArrayScript instance; public GameObject[] myArray = new GameObject[3]; public void Awake() { if(instance == null) { instance = this; } } } |
myArrayの要素0~2に、Sphere1~3を入れます。
配列にアクセスする側
続いて、myArrayにあるそれぞれの配列に、アクセスできるスクリプトを作ります。
Cubeを作成します。
CubeScript.csを作成し、Cubeに追加します。
CubeScript.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeScript : MonoBehaviour { void Start() { Debug.Log(ArrayScript.instance.myArray[0]); Debug.Log(ArrayScript.instance.myArray[1]); Debug.Log(ArrayScript.instance.myArray[2]); } } |
スタートすると、myArrayの要素を取得。
要素0~2に入っているオブジェクト名を、コンソールに表示します。
関連記事:
他のスクリプトの関数を実行する方法
他のスクリプトの変数を取得する
他のスクリプトのBoolを取得する
配列にあるオブジェクトを要素番号で呼び出す
指定した要素番号にオブジェクトを入れる
クリックしたオブジェクトを順番に配列に入れる
Resources.Loadを使ったファイル指定
スクリプトから配列に格納する
配列にある複数オブジェクトを一気に出す