AS3如何从Movieclip中获取带有遮罩的位图

3

这是有效的:

var a:BitmapData = new BitmapData(640,480);
var b:Bitmap = new Bitmap(a);
a.draw(movieClip);

这种方法不可行:

movieClip.mask = movieClipMask;
var a:BitmapData = new BitmapData(640,480);
var b:Bitmap = new Bitmap(a);
a.draw(movieClip);

如何将使用遮罩的 MovieClip 中的可见部分绘制到位图中?
1个回答

7
创建一个新的Sprite并将MovieClip和它的遮罩添加到其中。然后绘制父级Sprite。
var container:Sprite = new Sprite();
container.addChild (movieClip);
container.addChild (movieClipMask);
movieClip.mask = movieClipMask;

var a:BitmapData = new BitmapData(640,480);
var b:Bitmap = new Bitmap(a);
a.draw(container);

它可以工作,但在最终的位图中:MovieClip的位置不同。原始版本中我看到了完整MovieClip的一部分。在最终的位图中,我看到了其他部分(我的意思是遮罩失去了它的位置)。 - user534312
两个对象的坐标必须相对于容器 Sprite。否则,它们看起来就不一样了。 - weltraumpirat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接