我希望能够快速检查给定的DisplayObject是否是另一个DisplayObject的后代(不是继承意义上的 - 即子,孙子,曾孙,曾孙子等)。 / p>
似乎没有本地方法可以做到这一点,我只能想到两种方法来实现它:
我现在正在尝试后者,但会欣赏一些意见。我想创建一个很好的实用程序静态函数,例如:
static public function isDescendantOf(child:DisplayObject, parent:DisplayObjectContainer):Boolean {
var isDescendant: Boolean = false;
// perform some magical
// check that returns true
// if it is a descendant
return isDescendant;
}
答案 0 :(得分:7)
答案 1 :(得分:0)
好的,我使用它,但它使用了一个讨厌的匿名函数。
想知道它是否可以改进?
static public function isDescendantOf(child:DisplayObject, parent:DisplayObjectContainer):Boolean {
const HELLO:String = "hello";
var isDescendant:Boolean = false;
parent.addEventListener(HELLO, function(e:Event):void {
isDescendant = true;
});
child.dispatchEvent(new Event(HELLO, true, false));
return isDescendant;
}