我需要在另一个精灵上放置一个透明的精灵。重叠精灵将捕获一些鼠标事件。当用户将鼠标移到上部精灵上时,将绘制一条曲线。在它被处理之后,它将被绘制在基础精灵上(并在上面擦除)。
我现在的想法是放置精灵,绘制一个大小等于精灵大小的矩形,并将alpha设置为0.
问题是有点倾销:也许建议的解决方案不是最好的。有没有更好的方法来设置宽度和高度(据我所知,Sprite.width = w;
无济于事)?
提前谢谢!
答案 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