- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!シーン階層をたどる
GameObjectのtransformをたどることにより、子階層にどのGameObjectがあるかたどっていくことができます。
GameObject.Findと異なり、アクティブでないものも検索できます。
以下はNGUIの「/UI Root」をルートとして、その子階層をたどる例です。
GameObject rootG = GameObject.Find("/UI Root") as GameObject;
if (rootG != null) m_SearchChild(0, rootG);
// 指定のGameObjectの子を再帰的にたどる.
private void m_SearchChild(int depth, GameObject gameObject) {
Debug.Log((depth).ToString() + " : name = " + gameObject.name +
" / active " + (gameObject.activeSelf ? "true" : "false"));
for (int i = 0; i < gameObject.transform.childCount; i++) {
GameObject gameObjectC = gameObject.transform.GetChild(i).gameObject;
m_SearchChild(depth + 1, gameObjectC);
}
}
指定のGameObjectの「transform.childCount」で、子のGameObject数を取得。
「transform.GetChild(i).gameObject」で、i番目の子のGameObjectを取得。
これを再帰的に処理すれば、階層をたどることができます。
----
{{lastmodified}}