如何制作不规则形状的面膜

时间:2013-11-12 13:43:10

标签: actionscript-3 masking

我正在尝试使用位图制作面具,即下面有这样的形状。 这是我的图片掩码:

enter image description here

所有,在上图中,不是白色是透明的。所以应用一个面具,她切割一个矩形而不是这个形式。有没有办法实现它?原始人很难做出这样的面具。

这是我的来源:

package
{
    import flash.display.Bitmap;
    import flash.display.Sprite;

    [SWF(width="960", height="640", frameRate="60", backgroundColor="0x4a4137")]
    public class Main extends Sprite
    {
        [Embed(source="jack.jpg")]
        private var PhotoImg:Class;

        [Embed(source="faceArea.png")]
        private var FaceAreaImg:Class;

        private var _imageBox:Sprite;

        public function Main()
        {
            createMask();
        }

        private function createMask():void
        {
            var img:Bitmap = new PhotoImg();
            _imageBox = new Sprite();
            _imageBox.x = 0;
            _imageBox.y = 0;
            _imageBox.addChild(img);
            addChild(_imageBox);

            var faceArea:Bitmap = new FaceAreaImg();
            faceArea.x = 50;
            faceArea.y = 50;
            addChild(faceArea);

            _imageBox.mask = faceArea;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

Hi skyboy

如果要使用透明位图进行屏蔽,则必须将两个DisplayObject的cacheAsBitmap属性设置为true。

尝试:

_imageBox.cacheAsBitmap = true;
faceArea.cacheAsBitmap = true;