Unity 3D:非アクティブなゲームオブジェクトを取得するメソッド

1.アクティブ化されたゲームオブジェクトを取得する

1. Gameobject.Find( "Game Object Name")//オブジェクト名に従ってゲームオブジェクトを直接取得します

  このメソッドは指定されたオブジェクトを見つけることができますが、いくつかの欠陥があります。まず、シーン内に重複する名前がある場合、このメソッドは最初の名前が階層に上から下に表示されるオブジェクトを検索します。次に、オブジェクトのactiveSelfがfalseの場合、このメソッドはオブジェクトを見つけることができません。

1.1。上記の最初の問題を解決する方法(重複した名前):

  Gameobject.Find( "Parent / Son / Game Object Name")// /で区切られたパスで検索

1.2。2番目の問題を解決します。

  Transform.Find( "ゲームオブジェクト名")  

  このメソッドは、オブジェクトがアクティブ化されているかどうかに関係なく、オブジェクトの位置を見つけることができます

  最初にオブジェクトのルートノードを検索し、次にルートノードでメソッドを使用できます(このメソッドは子ノードのみを検索できます)。

  GameObject root = GameObject.Find( "ルートノード");

  GameObject son = root.transform.Find( "対象名").gameObject;

  ルートノードの下に親ノードがある場合は、パスを使用して見つけることもできます。

 

 

次に、タグタグを使用してオブジェクトを検索します

  GameObject> FindGameObjectsWithTag( "tag")

  GameObject.FindWithTag( "タグ")

 

 

 

yusongmomoの記事をご覧ください。ありがとうございます。

元の記事を16件公開 賞賛7件 20,000回以上

おすすめ

転載: blog.csdn.net/yuecangjiao5151/article/details/74906549