您的位置:首页 > 其它

鼠标穿透(flex实现)

2011-12-28 10:28 127 查看
问:一个面板上有许多的可是对象,有些对象的部分是透明的,当各种对象叠加时,需忽略透明的部分而直接选中下面的对象。如何使用flex的API来实现鼠标穿透。

答:使用hitTestPoint(x:Number, y:Number, shapeFlag:Boolean):Boolean

计算显示对象,以确定它是否与 x 和 y 参数指定的点重叠或相交。x 和 y 参数指定舞台的坐标空间中的点,而不是包含显示对象的显示对象容器中的点(除非显示对象容器是舞台)。

参数意思:

x:要测试的此对象的 x 坐标;

y:要测试的此对象的 y 坐标;

shapeFlag:(default = false) — 是检查对象 (true) 的实际像素,还是检查边框 (false) 的实际像素。

返回值:

如果显示对象与指定的点重叠或相交,则为 true;否则为 false。

实例代码:

var num:int = page.numChildren;//page表示当前的面板
for(var i:int=0; i<num; i++)
{
// 鼠标穿透
var child:* = page.getChildAt(i);
if(child.hitTestPoint(child.stage.mouseX, child.stage.mouseY , true))

{

//这里将得到鼠标点击的point的所有对象,根据自己的业务逻辑进行相关的处理。

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: