unity3d 如何在Unity 3D中将UI图像始终放在顶部

cl25kdpy  于 2023-04-21  发布在  其他
关注(0)|答案(3)|浏览(355)

我注意到画布中的元素是从上到下绘制的,所以上面的图片会被下面的图片覆盖。问题是我想让一个不是画布最后一个兄弟的ui图片保持在所有其他图片的顶部。我该怎么做?

yhxst69z

yhxst69z1#

我认为你可以尝试两种方法。

第一

使用Transform.SetAsFirstSibling()将UI组件放在顶部

第二

使用CanvasGroup.sortingOrder来帮助您的UI组件分组。

参考号

http://docs.unity3d.com/Manual/class-CanvasGroup.htmlhttp://docs.unity3d.com/ScriptReference/Transform.html

ttcibm8c

ttcibm8c2#

您可以使用两个函数来设置订单

Transform.SetAsFirstSibling

Transform.SetAsLastSibling

Transform.SetSiblingIndex
7vhp5slm

7vhp5slm3#

我想对Ethan的答案进行编辑,但似乎编辑队列已满,所以我在这里写它。CanvasGroup解决方案不起作用。除了更改兄弟索引(层次结构位置)之外,您的另一个选择是创建一个新的Canvas,并让它覆盖其父画布的排序顺序,并向新画布的排序顺序添加一些偏移量。以下是您如何在inspector中手动完成的:

我还创建了this simple script/component,它动态地完成这项工作:

相关问题