加载PNG后其透明区域不响应事件
作者 凌众技术
来源 网页制作
浏览
发布时间 2012-03-08
有时候我们希望加载PNG后其透明区域不响应事件.. 网上的一般的方法为~ 先获取其bitmapData对象.. 当进行点击操作时使用.. bitmapData.getPixel32(x,y)获取.. 点击位置的是否透明.. 然后再操作... 而mosueOver与mouseOut等事件稍为复杂点.. 需要侦听mouseMove.. 然后对经过的坐标进行透明判断~~再抛出相应的事件... 今天介绍的方法原理跟上面差不多.. 不过我们使用Sprite的另一个属性hitArea..(关于hitArea的说明请查看这里) 在图像加载完毕后.. 先绘制一个去除了透明部份的Sprite.. 然后把该Sprite指定为源对象的hitArea.. 先看看效果: 代码也很简单:main.mxml 01.<?xml version="1.0" encoding="utf-8"?> 02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" xmlns:local="*"> 03. <mx:Script> 04. <![CDATA[ 05. import mx.managers.CursorManager; 06. private function abc(e:MouseEvent):void 07. { 08. if(e.type == "mouseOver") 09. { 10. CursorManager.setBusyCursor(); 11. }else 12. { 13. CursorManager.removeBusyCursor(); 14. } |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: AS3实现以二进制方式播放mp3文件下一篇: flash动画技巧:制作2.5D动画
关于加载PNG后其透明区域不响应事件的所有评论