相对于不同节点的不同zPosition

Posted

技术标签:

【中文标题】相对于不同节点的不同zPosition【英文标题】:Different zPositions relative to different Nodes 【发布时间】:2017-10-31 01:41:14 【问题描述】:

假设我有节点 A、B 和 C。如何将节点 A 设置为比节点 B 更高的 zPosition,将节点 B 设置为比 C 更高的 zPosition,但将节点 A 设置为比节点 C 更低的 zPosition . 基本上,只在节点B上方显示节点A,在节点C后面隐藏它。

【问题讨论】:

【参考方案1】:

我认为这是不可能的。将节点A显示在B之上,将A隐藏在C之后意味着你需要C在A和B之上。但是你需要B高于C,这意味着C不能在B之上。尝试使用碎片桌子上的纸,你会发现你不能同时满足这两个目标......

【讨论】:

你忘了,这是我们正在处理的计算机,而不是现实生活。只需要不断改变zPosition @BCode 不确定这是否适合您的需要,但您可以考虑向 C 添加一个子节点。给该子节点一个 z 位置,将隐藏 A。然后给节点 C 一个位置,它将是在 B 之下,(但这样子节点仍然隐藏 A)。因此,C 的一部分将隐藏 A,而 C 的一部分在 B 之下。如果您尝试这样做,请记住节点的 z 位置是相对于其父节点的。所以一个节点的绝对全局z位置是它的z位置+它的父节点的z位置+它的父节点的父节点的z位置,等等。【参考方案2】:

我会在没有碰撞检测的节点之间设置接触检测,以便它们能够重叠并且当它们重叠时您会收到通知。

当它们开始重叠时,(即为您感兴趣的节点调用didBegin)相应地调整每个节点的z-Position。实施一些规则,这样如果所有 3 条都重叠,您就会得到合理的结果。

【讨论】:

以上是关于相对于不同节点的不同zPosition的主要内容,如果未能解决你的问题,请参考以下文章

相对于变量的模态绘制具有不同颜色的 geom_vlines

Linux内存描述之内存节点node--Linux内存管理

如何相对于一列增加不同列的值

Python判断两个文件夹中互相不同的文件有哪些判断一个文件夹相对于另外一个文件夹缺少了哪些文件

鼠标滑动显示不同页面的效果——————获取鼠标相对于整个页面的坐标

不同语言发展的相对成本研究