Unity如何更改画布的渲染顺序

时间:2016-06-08 00:39:23

标签: c# unity3d cross-platform unity5

我正在使用unity 5.3,我正在尝试更改两个叠加的跨平台控件的渲染顺序,每个控件都位于自己的画布中。

在以前的版本中,您可以使用

将窗口置于焦点
GUI.FocusWindow(0);

然而,这不适用于新系统。 我也尝试在编辑器窗口中修改没有做任何事情的顺序。

有谁知道如何将控件移到另一个控件之上?

2 个答案:

答案 0 :(得分:11)

在做了一些研究之后,我找到了改变画布渲染顺序的正确方法。 Canvas中有一个用于排序顺序的属性,它实际上是渲染顺序。

enter image description here

就像记下一样,记住你想要在顶部的控件应该比底部的控件有更大的顺序。

答案 1 :(得分:3)

编辑器窗口中的订单应该在这里工作。您确定要更改一个canvas元素中元素的顺序吗?

请注意,Canvas游戏对象中元素的顺序是所有渲染的顺序 - 所以你在画布中最后的东西将是最后绘制的东西,所以它将在所有东西之上。

以下是它的工作原理: editor window with canvas ordering example

这在Unity 5.3.4中得到了证明,Unity版本可能会有所不同(在5.0或5.1 AFAIK中,孩子的枚举方式发生了变化)。