假设我有一张画布,上面有一个包含纯白色图像的面板。通过前面提到的面板隐藏,有一个面板上有一个彩色图像。现在让我们取一个scrollrect,用一些较小的面板作为内容填充它,为每个面板添加一个蒙版,并将scrollrect放在纯白色面板上的面板中。
当白色面板和彩色面板静止不动时,如何使这些可滚动的小面板遮住白色面板并显示下面的彩色面板?
我很清楚,白色面板和彩色面板必须是遮罩组件的子组件,这就是问题所在,因为它们会滚动。
我在web上搜索了一下,但只能找到与scrollrect视口遮罩相关的内容,但不能在scrollrect中放置遮罩。
编辑:一种方法是通过使用每个小面板作为掩码来直接遮罩彩色面板,并使彩色面板在每个小面板内滚动*-1以对抗父滚动,但这似乎是一个糟糕的解决方案
谢谢你的任何建议,<.<
发布于 2020-05-17 14:16:38
使用遮罩,或者更好的是矩形遮罩2d。您将此组件添加到父组件中,所有的子组件都将根据其“rect转换”进行屏蔽,该转换将显示在编辑器右上角的可用UI元素上。也可以打开和关闭gizmo以查看绿色轮廓。
https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/script-RectMask2D.html
结合矩形掩码2d和滚动矩形可以给你一些强大的结果,并明确地完成你需要的东西。
https://docs.unity3d.com/Packages/com.unity.ugui@1.0/manual/script-ScrollRect.html
https://stackoverflow.com/questions/61846564
复制相似问题