Unity3D教程:如何让物体显示和隐藏
发表于2017-02-15
有些游戏场景需要让物体显示或者隐如果有过这方面开发经验的就可以很容易实现这个功能,但考虑到有些人还不会,为此下面就给大家介绍下Unity3D中让物体显示和隐藏的方法,一起来看看看吧。
让物体显示和隐藏方法
1.gameObject.renderer.enabled
2.//是控制一个物体是否在屏幕上渲染或显示 而物体实际还是存在的 只是想当于隐身 而物体本身的碰撞体还依然存在的
3.
4.GameObject.Destroy()
5.//表示移除物体或物体上的组件 代表销毁该物体 实际上该物体的内存并没有立即释放 而是在你下下个场景中槽释放内存资源,就是你a场景中Destroy了 一般是在c场景中才真正释放该物体的内存资源(这是我的体会 不知道理解错误没)
6.
7.gameObject.active
8.//是否在场景中停用该物体 在你gameObject.active =false中 则你在场景中用find找不到该物体
9.//如果该物体有子物体 你要用SetActiveRecursively(false) 来控制是否在场景中停用该物体(递归的)
实现代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | using UnityEngine; using System.Collections; public class test : MonoBehaviour { GameObject m_obj; // Use this for initialization void Start () { m_obj = GameObject.Find( "box" ); } // Update is called once per frame void Update () { } void OnGUI() { if (Input.GetKeyDown(KeyCode.W)) { // m_obj.enabled = true; m_obj.SetActive( true ); } if (Input.GetKeyDown(KeyCode.A)) { m_obj.SetActive( false ); // m_obj.enabled = false; } } } |