Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 捕捉电影片段_Flash_Actionscript 3 - Fatal编程技术网

Flash 捕捉电影片段

Flash 捕捉电影片段,flash,actionscript-3,Flash,Actionscript 3,我在舞台上演了一部电影。它是500x400。它增加了许多不同大小的孩子。如何从(0,0)中捕获movieclip的300x200区域。假设有一个孩子(100100)的宽度和高度为300,那么我应该能够从这个孩子身上分别看到100到300和100到200。该区域的其余部分不需要。我应该能够在以后处理捕获的图像。所以我想我必须把它捕捉成位图。但这件事怎么办呢 var bd:BitmapData = new BitmapData(300, 200, true, 0); bd.draw(your_mov

我在舞台上演了一部电影。它是500x400。它增加了许多不同大小的孩子。如何从(0,0)中捕获movieclip的300x200区域。假设有一个孩子(100100)的宽度和高度为300,那么我应该能够从这个孩子身上分别看到100到300和100到200。该区域的其余部分不需要。我应该能够在以后处理捕获的图像。所以我想我必须把它捕捉成位图。但这件事怎么办呢

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);
或者您可以尝试使用此快速类:

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);

+答案是1,但是为什么不让BitmapGrab扩展位图而不是Sprite呢?看起来图层太多了,你觉得怎么样?+1作为答案,但是为什么不让BitmapGrab扩展位图而不是Sprite呢?看起来太多了,你觉得怎么样?