【转】记一次Canvas 设置 overrideSorting 失败

我们项目里也遇到过。  UI的prefab 加载后onEnable里 设置上面canvas的 overrideSorting 没有效果。  原来prefab 加载后已经触发onEnable了, 但此时还没挂载到UI的Canvas下面。


https://www.cnblogs.com/pmsl/p/8885640.html

以下转发

问题描述

        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,等于没有设置。可想而知达不到预期的效果也是正常的

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值