捕获一部分动画片段

时间:2011-05-10 07:14:09

标签: flash actionscript-3

我在舞台上有一个动画片段。它的500x400。它添加了许多不同大小的孩子。如何从(0,0)捕获动画片段的300x200区域。假设有一个宽度和高度为300(100,100)的孩子,那么我应该能够分别从100到300和100到200看到这个孩子。该区域的其余部分不需要。我应该能够稍后操纵捕获的图像。所以我想我必须将其捕获为位图。但是如何做到这一点呢。

1 个答案:

答案 0 :(得分:3)

var bd:BitmapData = new BitmapData(300, 200, true, 0);
bd.draw(your_movieclip);

var bitmap:Bitmap = new Bitmap(bd);

addChild(bitmap);

或者您可以尝试使用此快速课程:

package
{
    import flash.display.DisplayObject;
    import flash.display.BitmapData;
    import flash.display.Bitmap;

    public class BitmapGrab extends Bitmap
    {
        /**
         * Copies a section of a MovieClip and stores as BitmapData
         * @param target The target DisplayObject to draw from
         * @param wpx The area width
         * @param hpx The area height
         */
        public function copyGraphics(target:DisplayObject, wpx:uint, hpx:uint):void
        {
            bitmapData = new BitmapData(wpx, hpx, true, 0);
            _bmd.draw(target);
        }
    }
}

使用:

var bmg:BitmapGrab = new BitmapGrab();
bmg.copyGraphics(your_movieclip, 300, 200);

addChild(bmg);