【问题标题】:How do you sort UI elements in Canvas?如何在 Canvas 中对 UI 元素进行排序?
【发布时间】:2018-04-20 15:11:03
【问题描述】:

我不明白你如何在 Canvas 内的 Unity 中对 UI 元素 Z-index 进行排序,是按层次顺序排列的吗? 我正在尝试在此视频中进行设置屏幕:https://www.youtube.com/watch?v=-qNo1jloR_k

这很简单,您单击按钮,它将整个面板设置为层次结构中的第一个兄弟。

但这就是我得到的: https://gyazo.com/cec14f21df2ded191875e6a8cfd9f124

另外,我的游戏面板有红色背景,我的图形面板是绿色的,我的声音面板是黄色的。

我可以通过更改面板上的 alpha 来避免这个问题,但想使它与 z 排序一起工作......我似乎无法在 Unity 上理解。

使用统一 2017.1.2 和 .NET 4.6。

【问题讨论】:

  • 这里有个相关的问题:How to show ui elements on top Unity
  • 您在视频中遗漏了一点:没有不是SetAsFirstSibling,而是取而代之的是 SetAsLastSibling。尽管如此,正如下面 Zayed 的回答一样,最好禁用除活动选项卡以外的所有选项卡,尤其是当它们有很多内容时。

标签: unity3d unity-ui


【解决方案1】:

层次结构中较低的子项呈现在其他子项之上。
假设有 2 个面板。 panel1(红色)和 panel2(绿色)。如果层次结构是这样的:
-panel1
-panel2
然后 panel2 将呈现在 panel1 的顶部。因此,您会看到绿色面板。
希望这能回答您的问题。
另一个建议是,最好停用未使用的面板并仅激活使用过的面板。因为,如果未使用的面板处于活动状态,当它没有显示时,它仍然会占用处理能力,这是一种浪费。例如,如果您在主菜单中有动画,但当前正在显示设置面板,您的方法将保持动画在主菜单中运行。

【讨论】:

    猜你喜欢
    • 2020-11-03
    • 1970-01-01
    • 2018-02-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-25
    • 2018-10-30
    • 2015-06-28
    • 2011-04-12
    相关资源
    最近更新 更多