当自己定义了一个特殊形状的组件之后,希望在界面上,当鼠标点击的时候,能够最终将消息传递到该组件,就需要想办法了,困难总是比办法多。 不知道getObjectsUnderPoint这个方法的具体实现是怎样的,相当敬佩这个牛人写了这个方法。(扯远了,不过我确实蛮想知道为什么鼠标事件能被不同的组件捕获到)
直接上代码
var conArr:Array = this.stage.getObjectsUnderPoint(new Point(stage.mouseX,stage.mouseY));
if(conArr.length>1){//说明底层有东西
for(var i:int = 0;i<conArr.length;i++){
if(conArr[i] is GeometryGroup){//这里GeometryGroup是自定义的一个组件
trace(conArr[i]);
var ui:GeometryGroup = conArr[i] as GeometryGroup;
ui.dispatchEvent(new MouseEvent(MouseEvent.CLICK));//将消息传递给该组件
point = null;
}
}
}
}