1. 程式人生 > >GameObject.Find與Transform.Find的區別

GameObject.Find與Transform.Find的區別

1.GameObject.Find

函式原型: 

public static  GameObject  Find(string name); 說明:1.GameObject只能查詢到active的物體    2.如果name指定路徑,則按路徑查詢;否則遞迴查詢,直到查詢到第一個符合條件的GameObject或者返回null   2.transform.Find 函式原型:   public 
Transform
  Find(string n); 說明:1.transform.Find用於查詢子節點,它並不會遞迴的查詢物體,也就是說它只會查詢它的子節點,並不會查詢子節點的子節點。 用程式碼驗證:
 1 public class TestFind : MonoBehaviour
 2 {
 3    
 4    public string name = "";
 5    private void Start()
 6    {
 7       Transform t = transform.Find(name);
8 if(t != null) 9 print("找到了"); 10 else 11 { 12 print("沒找到"); 13 } 14 } 15 }

說明:TestFind指令碼掛在GameObject物體上。

1.name為a, 輸出找到了

2.name為aa,輸出沒找到

3.name為b,輸出找到了

4.name為bb,輸出沒找到