Flex中鼠标单击 获取自定义组件 MouseDown getObjectsUnderPoint


  当自己定义了一个特殊形状的组件之后,希望在界面上,当鼠标点击的时候,能够最终将消息传递到该组件,就需要想办法了,困难总是比办法多。 不知道getObjectsUnderPoint这个方法的具体实现是怎样的,相当敬佩这个牛人写了这个方法。(扯远了,不过我确实蛮想知道为什么鼠标事件能被不同的组件捕获到)
  直接上代码 /** * 鼠标按下 * */ if(MouseEvent.MOUSE_DOWN == e.type){ point = new Point(); point.x = e.stageX; point.y = e.stageY; dl.initMove(); dp.initMove(); 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; } } } }  

猜你喜欢

转载自exo99exo.iteye.com/blog/1573102