天天看點

Flex中滑鼠單擊 擷取自定義元件 MouseDown getObjectsUnderPoint

Flex中滑鼠單擊 擷取自定義元件 MouseDown getObjectsUnderPoint

2010年08月26日

  當自己定義了一個特殊形狀的元件之後,希望在界面上,當滑鼠點選的時候,能夠最終将消息傳遞到該元件,就需要想辦法了,困難總是比辦法多。 不知道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元件 trace(conArr[i]); var ui:GeometryGroup = conArr[i] as GeometryGroup; ui.dispatchEvent(new MouseEvent(MouseEvent.CLICK));//将消息傳遞給該元件 point = null; } } } }