问题描述:
1. 在Stage上放置2个Sprite, A 和 B, 它们中心区域和边界是不透明的,而边缘区域是透明的
2. A 在 B 的上层, A和B之间有重叠区域,如下图
( * 为 A 的中心区域, . 为 B 的中心区域, 空白处为透明区域 , X 为鼠标点击区域 )
3. 点击X位置时,如果让B来响应事件
A-----------A
| |
| ****** |
| ******---+------B
| ****** | |
| | ...|... |
| | .X.|... |
| | ...|... |
A----+------A... |
| ....... |
| |
B-------------B
--------------------------------------------------------
解决方案
--------------------------------------------------------
使用InteractivePNG工具
InteractivePNG使PNG图像中的透明像素不再响应鼠标交互。
所涉及到的类文件
com/ibio8/media/images/MCInteractivePNG.as
http://www.mosessupposes.com/utilities/
概述
此类主要功能是将 PNG 图片的透明区域处理为没有鼠标事件的区域。以方便对包含透明位图的 MC 进行鼠标事件、检测碰撞等操作。
使用方法
mybtn1.addEventListener(MouseEvent.MOUSE_OVER, mouseHandler1);
mybtn1.addEventListener(MouseEvent.MOUSE_OUT, mouseHandler1);
function mouseHandler1(evt:Event):void {
if (evt.type=="mouseOver") {
bg1.gotoAndStop(2);
} else {
bg1.gotoAndStop(1);
}
}
mybtn2.addEventListener(MouseEvent.MOUSE_OVER, mouseHandler2);
mybtn2.addEventListener(MouseEvent.MOUSE_OUT, mouseHandler2);
function mouseHandler2(evt:Event):void {
if (evt.type=="mouseOver") {
bg2.gotoAndStop(2);
} else {
bg2.gotoAndStop(1);
}
}
重点剖析
实例:
http://www.mosessupposes.com/utilities/InteractivePNG_demo.html
使用方法:下载demo后 需和 工具类 包放同一目录下方可使用。
- 浏览: 897655 次
- 性别:
- 来自: 青岛
最新评论
-
chienchia:
请问下,第4步,vpn做了什么使数据包发送到真实网卡,而不会再 ...
如何使用Android系统自带的VPN服务框架 -
fangyafenqidai:
我只要选第二个就可以呢,怒需要选第一个。之后不会有啥问题。正常 ...
Android Studio 超级简单的打包生成apk -
michaelye1988:
不错,很棒!
getcachedir和getexternalcachedir的区别 -
whlei01:
文章棒棒哒
常用的AS3代码 -
whlei01:
很不错 之前打开及时600M的内存 ,现在打开只有300兆了 ...
flash builder内存不够的解决办法
相关推荐
在Android开发中,Activity点击穿透效果是指用户在某一层Activity上点击时,其下的Activity或者View也能接收到点击事件并进行响应。这种效果通常应用于悬浮窗、半透明遮罩层等场景,使得用户无需移除顶层视图就能与...
2<br><br>0003 设置程序代码行序号 3<br><br>0004 开发环境全屏显示 3<br><br>0005 设置窗口的自动隐藏功能 3<br><br>0006 根据需要创建所需解决方案 4<br><br>0007 如何使用“验证的目标架构”功能 4<br>...
本文章地址:... 遮罩层实现鼠标消息穿透(透明区域穿透,非透明区域不穿透) 实现需求1:鼠标穿透 实现需求2:软件分层构架的菜单穿透 作者:红模仿 QQ:21497936 日期:2019年04月08日
在VC++中,实现鼠标穿透通常需要重写WM_NCHITTEST消息处理函数,返回HTTRANSPARENT值,这样系统就会忽略在这个区域的鼠标事件,让它们传递到下一层窗口。 在描述中提到的“简单学习的一步”,暗示了这是一个学习和...
这个属性默认为`false`,当设置为`true`时,它会让`MouseArea`将已处理的事件传递给其下的`MouseArea`,这样即使上层`MouseArea`处理了点击事件,下层的`MouseArea`也能接收到相同的事件。 例如,在`main.qml`中,...
在C#编程中,创建一个具有鼠标穿透功能的半透明窗体是一项常见需求,尤其是在开发桌面应用时,可能需要实现类似“浮动面板”或者“工具提示”等效果。本篇文章将详细探讨如何实现这一功能。 首先,让我们了解什么是...
在网页开发中,我们经常需要实现一些交互效果来提升用户体验,比如鼠标点击元素时变色、弹出div层以及禁用页面的其他交互。这里我们将深入探讨这些功能的实现方式。 1. 鼠标点击变色: 当用户点击某个元素时,我们...
这样,当用户点击图片的透明区域时,事件会传递到`UIImageView`下方的视图,从而触发相应的点击事件。 然而,这种方法可能并不完全准确,因为它是基于整个图片的透明度来判断的。如果图片只有局部透明,那么即使...
本程序为一个真正点对点通讯示范...负责消息中转、用户登陆<br/>客户端从服务端获取用户列表 然后直连各个用户 以实现 聊天 语音 视屏 文件传输等可能的一切服务<br/><br/>使用2个第3方控件<br/>DXSock<br/>Rzaize 3.10
其次,鼠标穿透技术,也称为鼠标忽略或鼠标隔离,是指当鼠标移动到某个窗口时,其点击和移动事件不会被该窗口捕获,而是传递到窗口下方的对象。在易语言中,实现鼠标穿透通常需要监听鼠标的移动和点击事件,然后通过...
sipLite是支持 SIP 协议的软电话,操作简便,非常适合于终端用户使用.<br><br>性能特点:<br><br><br>安装包仅有1.4Mb,不需要额外的库文件. <br><br><br>支持G729编解码.音质清晰. <br><br><br>可自定义SIP通讯端口,以...
1、cocoscreator实现图片透明区域的穿透,解决了多图片重叠时的问题。 2、预览请移步:https://pan.baidu.com/s/11v096Bbi3PmqbAEL7Uonew#list/path=/我的分享/CSDN/TouchProj 3、版本creator2.0.8,如有疑问请...
在编程领域,有时候我们需要创建特殊的窗口,这些窗口可以允许鼠标事件穿透,也就是说,即使鼠标在该窗口上,也能触发下方窗口的鼠标事件。这在某些高级界面设计或游戏开发中非常常见。本话题将深入探讨如何使用...
有时候,我们可能会遇到事件穿透的问题,即在页面上层的元素被点击时,同时也触发了下层元素的事件。这主要是因为浏览器默认的行为,事件会从捕获阶段开始,一直传递到冒泡阶段。Vue.js 提供了优雅的方式来解决这个...
当一个窗口部件被设置为透明或者半透明时,事件穿透允许底层的窗口部件接收并处理鼠标和键盘事件,即使它们被上面的窗口部件遮挡。这在实现交互式重叠窗口时非常有用。 接着,我们讨论窗口的位置拖动。在Qt中,你...
有时,开发者可能需要实现一个特殊功能,即让鼠标能够穿透窗体,即鼠标可以穿过窗体并与其下方的对象交互,而不会被窗体拦截。这个特性在创建如透明控件或者虚拟桌面等高级应用时非常有用。本文将详细解释如何实现C#...
“鼠标事件类”和“鼠标特效”则暗示了这个主题可能扩展到更多与鼠标交互相关的高级技巧,如鼠标的拖放功能、滚轮事件、右键点击事件等,这些都是JavaScript在Web开发中实现用户交互的重要组成部分。 总的来说,...
这些方法都是为了在`<select>`元素之上创建一个覆盖层,从而避免下拉菜单穿透到其他元素。 1. bgiframe插件:这是jQuery的一个插件,它会在元素周围插入一个透明的IFrame,以模拟背景图片的行为。这个IFrame可以...
<li><a href="#">子菜单1.1</a></li> <li><a href="#">子菜单1.2</a></li> </ul> </li> <li><a href="#">菜单2</a> <ul class="sub-menu"> <li><a href="#">子菜单2.1</a></li> <li><a href="#">子菜单2.2</...
这个"C#鼠标穿透功能工程"显然与实现C#环境下让鼠标点击穿过某个控件或窗口,使得底层的元素可以被点击有关。下面将详细解释这一技术及其实现方式。 首先,"鼠标穿透"(Mouse Passthrough)是指允许鼠标点击透过一...