鼠标穿透(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的所有对象,根据自己的业务逻辑进行相关的处理。
}
}
答:使用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的所有对象,根据自己的业务逻辑进行相关的处理。
}
}
相关文章推荐
- Flex如何实现鼠标点击事件穿透功能
- flex实现自定义鼠标
- [随笔]关于如何实现鼠标穿透窗口和窗口半透明
- winform和wpf如何实现鼠标穿透的效果
- 穿透鼠标实现后台点击,适用于任何窗口!【后台鼠标】【风雪】
- 怎么实现“鼠标穿透”,即鼠标对窗体失去作用,对着它点右键要出现WINDOWS的桌面右菜单
- C# 鼠标穿透窗体功能的实现方法
- 如何在flex中实现自定义鼠标样式呢?
- 实现鼠标穿透能力
- C#使用Windows API实现桌面上的遮罩层(鼠标穿透)
- VC中实现鼠标穿透
- (开源,GPLv3)EbookCopier 实现(2) – 具有半透明和鼠标穿透效果的“取景框”
- Flex使用Scroller组件实现以鼠标为中心的缩放
- (开源,GPLv3)EbookCopier 实现(2) - 具有半透明和鼠标穿透效果的“取景框”
- Flex使用Scroller组件实现以鼠标为中心的缩放
- flex 鼠标右键事件 和右键菜单的实现
- Winform实现鼠标可穿透的窗体镂空效果
- Flex 实现鼠标手势 无码 );
- flex实现自定义鼠标
- C#使用Windows API实现桌面上的遮罩层(鼠标穿透)