日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

unity中查找對(duì)象的五種方法

 3dC 2016-07-20

unity中提供了獲取對(duì)象的五種方法:

  1. 通過對(duì)象名稱(Find方法)
  2. 通過標(biāo)簽獲取單個(gè)游戲?qū)ο螅‵indWithTag方法)
  3. 通過標(biāo)簽獲取多個(gè)游戲?qū)ο螅‵indGameObjectsWithTags方法)
  4. 通過類型獲取單個(gè)游戲?qū)ο螅‵indObjectOfType方法)
  5. 通過類型獲取多個(gè)游戲?qū)ο螅‵indObjectsOfType方法)

Find方法:
static GameObject Find (string name)
傳入的name可以是單個(gè)的對(duì)象的名字,也可以是hierarchy中的一個(gè)路徑名,如果找到會(huì)返回該對(duì)象(活動(dòng)的),如果找不到就返回null。
  1. var cubeF = GameObject.Find("/CubeFather");  
  2. if (null != cubeF)  
  3. {  
  4.     Debug.Log("find cube father~");  
  5. }  
  6. cubeF = GameObject.Find("CubeFather");  
  7. if (null != cubeF)  
  8. {  
  9.     Debug.Log("find cube father, no /~");  
  10. }  
  11.   
  12. var cubeS = GameObject.Find("/CubeFather/CubeSon");  
  13. if (null != cubeS)  
  14. {  
  15.     Debug.Log("find cube son~");  
  16. }  
  17. cubeS = GameObject.Find("CubeFather/CubeSon");  
  18. if (null != cubeS)  
  19. {  
  20.     Debug.Log("find cube son, no /~");  
  21. }  
  22. cubeS = GameObject.Find("CubeSon");  
  23. if (null != cubeS)  
  24. {  
  25.     Debug.Log("find cube son, no one /~");  
  26. }  

結(jié)果如上,可見不論參數(shù)是對(duì)象名字還是對(duì)象的路徑,只要對(duì)象存在都會(huì)查找到,但是建議最好是寫詳細(xì)的路徑名例如CubeFather/CubeSon,這樣的話,在unity查找的過程中會(huì)省很多事,效率高;另外不要在每一幀都執(zhí)行的函數(shù)中調(diào)用該函數(shù),可以看上圖結(jié)果中會(huì)執(zhí)行好多次,用到某個(gè)對(duì)象時(shí)可以在Start這種只執(zhí)行一次的函數(shù)中定義變量獲取Find的返回值,再在每幀都執(zhí)行的函數(shù)中使用該變量即可~


FindWithTag方法:
static GameObject FindWithTag (string tag
返回一個(gè)用tag做標(biāo)識(shí)的活動(dòng)的對(duì)象,如果沒有找到則為null。
  1. var sphere = GameObject.FindWithTag("Sphere");  
  2. if (null != sphere)  
  3. {  
  4.     Debug.Log("Sphere~");  
  5. }  
將hierarchy中某個(gè)對(duì)象的Inspector面板上面的Tag自定義一個(gè),然后為其選擇自定義(上述例子中用的Sphere)
,當(dāng)然沒有的話,利用下拉列表中的AddTag構(gòu)建


FindGameObjectsWithTag方法:
static GameObject[] FindGameObjectsWithTag (string tag)
返回一個(gè)用tag做標(biāo)識(shí)的活動(dòng)的游戲物體的列表,如果沒有找到則為null。具體代碼略過~


FindObjectOfType方法:
static Object FindObjectOfType(Type type)
返回類型為type的活動(dòng)的第一個(gè)游戲?qū)ο?/span>


FindObjectsOfType方法:
static Object FindObjectsOfType(Type type)
返回類型為type的所有的活動(dòng)的游戲?qū)ο罅斜?br>


注意:一定保證對(duì)象是active的才會(huì)找到
         為了效率高,一定要保證別在每幀都調(diào)用的函數(shù)中使用上述函數(shù)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請遵守用戶 評(píng)論公約

    類似文章 更多