在as3中绘制位图的确切区域

时间:2012-10-29 08:31:54

标签: actionscript-3 bitmap bitmapdata

我正在开发一个Action Script 3.0应用程序,我可以在其中加载图像并使其可拖动。考虑我正在加载鹿形象并使其成为可拖动的。 问题是,如果我点击半透明区域(位图周围的空白区域),我不希望位图可以拖动。有没有办法在没有周围空白区域的情况下绘制鹿边界区域。

1 个答案:

答案 0 :(得分:0)

您可以使用BitmapData方法获取每个像素颜色,然后,您可以:

  • 在创建时,对于每个像素,如果它不是完全透明(!= 0),您可以绘制一个透明的Shape点,并使其可以拖动以代替您的位图(如注释中所注意到的) ,它将耗费大量CPU,因此请使用第二种方法)
  • 点击后,获取相对于位图的点击坐标,检查像素是否透明,只有当它不是时才拖动。

无论哪种方式,这将耗费大量CPU。您还可以考虑将位图转换为矢量图像(Sprite)。这将允许闪光灯检测真实的图像边界。