记一次Canvas 设置 overrideSorting 失败

问题描述

        GameObject obj = new GameObject("Object");
        var c = obj.AddComponent<Canvas>();
        c.overrideSorting = true;
        c.sortingOrder = order;
        obj.transform.SetParent(parent);

代码逻辑

这段代码是想,给生成的一个GameObject挂一个 Canvas ,并且设置它的层级
结果发现这段代码并没有达到预想的目的。

原因

新生成的 GameObject 默认是再世界节点下的,这时Canvas的 overrideSorting 属性时不容许修改的。因此 overrideSorting = true,等于没有设置。可想而知达不到预期的效果也是正常的

posted @ 2018-04-19 19:38  熊二  阅读(1644)  评论(1编辑  收藏  举报