問題描述
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,等於沒有設置。可想而知達不到預期的效果也是正常的