【问题标题】:Unity How to change the Rendering Order of A canvasUnity如何改变A画布的渲染顺序
【发布时间】:2016-06-08 00:39:23
【问题描述】:

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

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

使窗口成为焦点
GUI.FocusWindow(0);

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

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

【问题讨论】:

    标签: c# unity3d cross-platform unity5


    【解决方案1】:

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

    请记住,您希望位于顶部的控件的顺序应大于位于底部的控件的顺序。

    【讨论】:

      【解决方案2】:

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

      请注意,Canvas 游戏对象中元素的顺序是所有内容的渲染顺序 - 因此您在画布中的最后一个内容将是最后绘制的内容,因此它将位于所有内容之上。

      它的工作原理如下:

      这在 Unity 5.3.4 中得到了证明,在更老的 Unity 中它可能会有所不同(在 5.0 或 5.1 AFAIK 中某处枚举子项的方式发生了变化)。

      【讨论】:

      • 一开始,我换了几次顺序,似乎什么也没做,我什至把控件做成了一个子控件,但是效果有些奇怪,但是场景有点不同,操纵杆控件和Dual touch Pad控件是他们自己元素特殊元素的子元素。驻留在标准资产跨平台输入预制件中,也许它是一个重命名的画布,我需要从那里删除它。回家后我会调查并发布图片,谢谢您的帮助。
      • 当有多个画布时,它似乎无法按顺序工作,但幸运的是,移动控件的父对象是画布的,所以我只是将控件和移动控件脚本移动到画布上 i'我正在使用它现在正在工作
      猜你喜欢
      • 2022-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-29
      • 1970-01-01
      • 2019-04-27
      相关资源
      最近更新 更多