今天来说一下unity隐藏组件方面的内容,下面我主要来说下组件隐藏和现实的方法,供大家学习参考。

unity3d中让物体显示和隐藏的方法


gameObject.renderer.enabled   
//是控制一个物体是否在屏幕上渲染或显示  而物体实际还是存在的 只是想当于隐身 而物体本身的碰撞体还依然存在的  
  
GameObject.Destroy()    
//表示移除物体或物体上的组件 代表销毁该物体  实际上该物体的内存并没有立即释放 而是在你下下个场景中槽释放内存资源,就是你a场景中Destroy了 一般是在c场景中才真正释放该物体的内存资源(这是我的体会 不知道理解错误没)  
  
gameObject.active     
//是否在场景中停用该物体   在你gameObject.active =false中 则你在场景中用find找不到该物体    
//如果该物体有子物体 你要用SetActiveRecursively(false) 来控制是否在场景中停用该物体(递归的)
记录下

1. using UnityEngine;  

2. using System.Collections;  

3.   

4. public class test : MonoBehaviour   

5. {  

6.     GameObject m_obj;  

7.     // Use this for initialization  

8.     void Start ()   

9.     {  

10.         m_obj = GameObject.Find("box");  

11.     }  

12.       

13.     // Update is called once per frame  

14.     void Update ()  

15.     {  

16.       

17.     }  

18.   

19.     void OnGUI()  

20.     {  

21.   

22.         if (Input.GetKeyDown(KeyCode.W))  

23.         {  

24.            // m_obj.enabled = true;  

25.             m_obj.SetActive(true);  

26.         }  

27.   

28.         if (Input.GetKeyDown(KeyCode.A))  

29.         {  

30.             m_obj.SetActive(false);  

31.            // m_obj.enabled = false;  

32.         }  

33.       

34.     }  

35. }