オブジェクトの親、子を取得する

  • 子を取得
 transform.FindChild()ではなくtransform.Find()が正しいらしい

 transform.Find()はtransformなので、GameObjectは、transform.Find().GameObjectを読む必要がある。
 子どもは、親のtransformにぶら下がる。正確には、子どものtransformが、親のtransformにぶら下がっている。

GameObject childObject = gameObject.transform.Find("子要素の名前").gameObject;
↑子がいないときにエラーになる。
 if( gameObject.transform.Find("子要素の名前")!=null )
 {
    GameObject childObject = gameObject.transform.Find("子要素の名前").gameObject;
 }

FindGameObjectsWithTag()はあるが、FindTransformsWithTag()は無いので、複数のchildを取得する方法はない?

  • 親を取得
GameObject childObject = gameObject.transform.parent.gameObject;

  • Canvas内の子供を取得
GameObject.Find ("Canvas").transform.FindChild("MenuPanel").gameObject.SetActive(true);

タグ:

unity
最終更新:2015年06月23日 00:30