在另一个精灵上添加透明精灵

时间:2012-09-27 17:06:03

标签: actionscript-3 flash

我需要在另一个精灵上放置一个透明的精灵。重叠精灵将捕获一些鼠标事件。当用户将鼠标移到上部精灵上时,将绘制一条曲线。在它被处理之后,它将被绘制在基础精灵上(并在上面擦除)。

我现在的想法是放置精灵,绘制一个大小等于精灵大小的矩形,并将alpha设置为0.

问题是有点倾销:也许建议的解决方案不是最好的。有没有更好的方法来设置宽度和高度(据我所知,Sprite.width = w;无济于事)?

提前谢谢!

1 个答案:

答案 0 :(得分:4)

您无法直接设置尺寸,而可以绘制该Sprite。所以你可以这样做:

graphics.beginFill(0,0); // zero alpha fill
graphics.lineStyle(0,0,0); // invisible lines
graphics.drawRect(0,0,width,height);
graphics.endFill();

这样你的精灵可以让它的alpha保持为1,不会隐藏任何它的孩子。然后,无论你决定在Sprite中绘制什么样的曲线,你都可以通过graphics.moveTo和graphics.lineTo在子Shape对象中绘制。

更新:根据下面的评论,将alpha设置为0将不适用于较新的Flash播放器版本,因此应将alpha设置为非零数量,以便在重叠精灵上注册事件。

graphics.beginFill(0x808080,0.01); // almost zero alpha fill