Unity3dBug

最近 项目 因为 使用 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 版本

原文地址:https://www.cnblogs.com/chongxin/p/4191128.html