在as3中很多时候需要只能选中png中可视区域,即透明区域“感觉可以穿透”。两张png重叠的时候,鼠标可以分别响应它们的事件。如下图所示:

as3的InteractivePNG例子

在网上搜索的时候,看到有人没用其它额外的类,自己写了一个例子。地址在这里:http://www.shch8.com/blog/post/71.html 有demo可以下载(例子需要使用flash cs4+才能打开)

比较巧妙的是这一段核心代码:

if (bitmapData.getPixel32(i,j))
{
png_mc.graphics.drawRect(i,j,1,1);
}
}
}

png_mc.graphics.endFill();
png_mc.removeChildAt(0);

可以看出它是对图片使用循环,取它的每一个像素然后进行判断(我觉得对于大的图片效率可能存在问题---猜测~)

 

而国外很早以前就有现成的类了“InteractivePNG”,文档在这里:http://www.mosessupposes.com/utilities/InteractivePNG.html  示例和类的下载地址:http://www.mosessupposes.com/utilities/

 

自己用flex简单的写了一个demo:

>

完整的代码下载>>

相关文章:

  • 2021-09-28
  • 2022-12-23
  • 2022-01-28
  • 2021-09-27
  • 2022-12-23
  • 2022-02-02
  • 2021-07-30
猜你喜欢
  • 2022-12-23
  • 2021-08-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-05-28
相关资源
相似解决方案