2019年8月6日火曜日

[Unity] 親子関係が階層的になっているときに第1階層だけ配列にしたい


タイトルのままだけd、親子関係が階層的になっているときに、子供を第1階層だけ配列にしたいときのやりかた。(ニッチ?)


つまり、こうなっているときに「m0,m1,m2・・」を配列に入れたい。


// 子供を1階層だけ検索し、GameObject型に変換
GameObject[] GetChildren(GameObject parent) {
// 見つからなかったらreturn
if(parent == null) return null;

GameObject [] childs = new GameObject[parent.transform.childCount];
var index = 0;
foreach (Transform child in parent.transform){
childs[index++] = child.gameObject;
}

return childs;
}



使い方:関数に親のGameObjectを渡してあげる

GameObject []childs = GetChildren(GameObject.Find("/_matoes"));

0 件のコメント:

コメントを投稿