如何测试Flex控件是否被其他控件遮挡?

时间:2012-09-25 13:27:58

标签: flex actionscript

我正在尝试编写一个函数

internal function isObscured(o: DisplayObject): Boolean;

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

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

有人知道是否有更好的方法来检查Flex控件是否被其他人遮挡?

1 个答案:

答案 0 :(得分:1)

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

这里有很好的解释:Flex collision testing with hitTestObject

HIH