unity3d中让物体显示和隐藏

时间:2022-07-21 21:44:36

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

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