2

我正在尝试编写一个函数

internal function isObscured(o: DisplayObject): Boolean;

它告诉给定对象o是部分还是完全被另一个对象遮挡。我已经尝试过使用hitTestObjectand hitTestPoint; 如果我测试手头对象的边界矩形中的每个点,后者实际上会做我想要的 - 不是很有效。我也尝试过使用setChildIndex,但它似乎也没有帮助,因为即使对象没有最大的子索引,它也可能不会被遮挡。

我目前的方法是测试具有比手头对象更大的子索引的对象的任何边界矩形是否与手头对象的边界矩形相交,但是我怀疑这仅适用于测试是否有任何兄弟姐妹与我的对象重叠。

有谁知道是否有更好的方法来检查 Flex 控件是否被另一个控件遮挡?

4

1 回答 1

1

您必须检索代表每个组件的矩形并对其进行测试。

在这里很好地解释了:使用 hitTestObject 进行 Flex 碰撞测试

HIH

于 2012-09-26T09:37:06.083 回答