0

我有以下情况:

  • 一个 parent Node,占用所有屏幕空间。
    • 顶栏的孩子。
    • 一个孩子为游戏区。
    • 底部栏的孩子。
    • 叠加层的绝对定位子代,不得绑定到上述三个。

我不能完全让上面的​​工作,因为我找不到一种方法来定义孩子的 z 顺序,至少使用默认的 UiCameraComponents。这是我尝试过的:

  • 向绝对定位的子元素添加一个Translation组件并将其向上移动 Z 轴。
  • 在 Z 轴上给绝对定位的孩子一个更高的变换。
  • 以不同的顺序生成节点。

似乎覆盖子始终呈现在相对定位的兄弟姐妹之后。

4

1 回答 1

2

Bevy UI 中的 Z 顺序当前由层次结构隐式定义。节点“堆叠”在它们的父节点之上以及在它们父节点的子节点列表中位于它们之前的兄弟节点之上。

从功能上讲,z 顺序是使用实体变换的 z 平移值定义的。对于普通精灵,您可以直接设置它。对于 UI 组件,有一个底层系统可以为您设置。

最后,我希望可以选择性地覆盖 Bevy UI 的 z 顺序行为。这应该是添加一个新字段以“选择退出”,然后允许人们直接设置变换的 z 平移。

于 2020-09-16T19:58:32.620 回答