4

在 Unity 2017 中,我通过制作自己的继承自UnityEngine.UI.Graphic. 但是我的代码无关紧要,因为您可以使用文档中的SimpleImage 示例来观察这个问题。问题是这些从 Graphic 派生的自定义 UI 行为不能被Mask 组件屏蔽,即使每个本机 UI 元素都可以。这很奇怪,因为根据Graphic.OnPopulateMesh文档,Text,ImageRawImage都使用相同的方法。

重现:

  1. 创建一个 UI 画布。
  2. 创建一个名为 Mask 的 UI Image 作为 UI Canvas 的子级。
  3. 将 Mask 组件添加到 Mask 游戏对象。
  4. 添加一个 Image 和一个 SimpleImage 作为 Mask 的子级。
  5. 观察 Image 被屏蔽,而 SimpleImage 没有。

这对我来说是个问题,因为我需要在滚动视图中使用自定义图形。如何使我的图形与 Unity 的图形一样可屏蔽?

4

1 回答 1

6

当我完成打字时,我就明白了这一点。这很容易。您所要做的就是继承 fromMaskableGraphic而不是Graphic.

于 2017-12-01T02:51:24.440 回答