ゲームオブジェクトの子オブジェクトを取得するにはforeach()でtransformのそれぞれの要素を参照すれば良い。
以下のようにオブジェクトを階層化して
それぞれのオブジェクト(ObjXXX)は以下のように位置を設定しました。
– ObjRootは(0, 0, 0)
– ObjChildAは(1, 0, 0)
– ObjChildBは(2, 0, 0)
– ObjChildCは(3, 0, 0)
※その他は(0, 0, 0)
ObjRootに以下のスクリプトを追加
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using UnityEngine; using System.Collections; public class ListChildren : MonoBehaviour { void Start() { print(transform.name + ":" + transform.localPosition); foreach(Transform child in transform) { print(child.name + ":" + child.localPosition); } } } |
シーンをプレビューすると、Consoleには以下のように表示されます。
transform自体は自分自身、foreach()でtransformをスキャンすると子オブジェクトを取得することが出来ます。
ObjRootの子オブジェクト(ObjChildA, ObjChildB, ObjChildC)のみが表示され、孫オブジェクト(ObjChildB-A, ObjChildB-B)は表示されていません。
コメントを残す
コメントを投稿するにはログインしてください。