今天来说一下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. }