首页 > 代码库 > Unity3dBug - OnEnable

Unity3dBug - OnEnable

最近 项目 因为 使用 active 代替 instantiate机制,很多时候 OnEnable 代理 OnStart.

然后发现一个 奇怪的 问题 

    void Awake() {        Debug.Log("Awake");    }    void OnEnable()    {        Debug.Log("OnEnable");        gameObject.SetActive(false);    }

你如果在 OnEnable 中 gameObject.SetActive(false);

那么 这个 物体 就再也 无法 生成生成了。

技术分享

 

我认为 可能OnEnable 中 如果 set false 就等于 没产生,没产生自然也就没有物体会出现。

可是 我又错了。

1     void Awake() {2         Debug.Log("Awake");3         gameObject.SetActive(false);4     }5 6     void OnEnable()7     {8         Debug.Log("OnEnable");9     }

 

直接上结果

技术分享

技术分享

 

 

当前Unity3d 版本

技术分享

Unity3dBug - OnEnable