如何解决如何在bevy中用绝对定位显式描述UI元素的Z顺序?
我有以下情况:
- 父级
Node
,占据了所有屏幕空间。- 顶栏的孩子。
- 游戏区的孩子。
- 底部栏的孩子。
- 一个绝对定位的叠加层子级,不得与上面的三个绑定。
我无法完全实现上述要求,因为我找不到至少使用默认的UiCameraComponents来定义子级z顺序的方法。这是我尝试过的:
- 向绝对定位的子级添加
Translation
组件,并将其沿Z轴向上移动。 - 为绝对定位的子项赋予Z轴上更高的变换。
- 以不同顺序生成节点。
似乎覆盖子对象始终在相对定位的同级对象后面进行渲染。
解决方法
当前,Bevy UI中的
Z顺序由层次结构隐式定义。节点“堆叠”在其父级之上,并在其父级的子级列表中位于其之前的兄弟姐妹之上。
从功能上讲,z顺序是使用实体的Transform的z平移值定义的。对于普通精灵,您可以直接设置。对于UI组件,有一个基础系统可以为您进行设置。
最终,我希望可以有选择地覆盖Bevy UI的z顺序行为。那应该是添加一个新字段以“选择退出”,然后允许人们直接设置转换的z平移的问题。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。