AS3使用Mask从Movieclip获取Bitmap

use*_*312 3 flash bitmap actionscript-3 movieclip bitmapdata

这有效:

var a:BitmapData = new BitmapData(640,480);
var b:Bitmap = new Bitmap(a);
a.draw(movieClip);
Run Code Online (Sandbox Code Playgroud)

这不起作用:

movieClip.mask = movieClipMask;
var a:BitmapData = new BitmapData(640,480);
var b:Bitmap = new Bitmap(a);
a.draw(movieClip);
Run Code Online (Sandbox Code Playgroud)

如何只将MovieClip的可见部分(使用遮罩)绘制到我的位图中?

wel*_*rat 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);
Run Code Online (Sandbox Code Playgroud)