unity3d中让物体显示和隐藏的方法
- gameObject.renderer.enabled
- //是控制一个物体是否在屏幕上渲染或显示 而物体实际还是存在的 仅仅是想当于隐身 而物体本身的碰撞体还依旧存在的
- GameObject.Destroy()
- //表示移除物体或物体上的组件 代表销毁该物体 实际上该物体的内存并没有马上释放 而是在你下下个场景中槽释放内存资源,就是你a场景中Destroy了 通常是在c场景中才真正释放该物体的内存资源(这是我的体会 不知道理解错误没)
- gameObject.active
- //是否在场景中停用该物体 在你gameObject.active =false中 则你在场景中用find找不到该物体
- //假设该物体有子物体 你要用SetActiveRecursively(false) 来控制是否在场景中停用该物体(递归的)
记录下
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;
} }
}