「Unity」Findについて
Findについてメモ。
バージョン:Unity 2017.1.2f1
・GameObject.Find()
内容:
Hirearchy上のオブジェクトを取得
メリット・デメリット:
アクティブなオブジェクトのみ検索できる。
(非アクティブなオブジェクトはエラーになる)
public class Enemy : MonoBehaviour { // Hirearchy上のプレイヤー検索 private GameObject player; void Start () { player = GameObject.Find ("Player"); player.SetActive(false);//できる player.SetActive(true);//エラーになる } }
・gameObject.transform.Find()
内容:
子オブジェクトのTransformを取得
メリット・デメリット:
アクティブ・非アクティブなオブジェクトを検索できる。
public class Enemy : MonoBehaviour { // ヒエラルキー上のEnemy.csを付けたオブジェクトの子オブジェクトの中でプレイヤー検索 private Transform cWeakPoint; void Start () { cWeakPoint = gameObject.transform.Find ("weakPoint"); cWeakPoint.gameObject.SetActive(false);//できる cWeakPoint.gameObject.SetActive(true);//エラーにならない } }