ビットマップでアルファチャネルマスク


ポイントは cacheAsBitmap でビットマップキャッシュを有効する必要があること。

ソースコード:

mask.as
package
{
    import flash.display.Loader;
    import flash.display.Shape;
    import flash.display.Sprite;
    import flash.net.URLRequest;

    public class mask extends Sprite
    {
        public function mask()
        {
            var square:Shape = new Shape();
            square.graphics.beginFill(0x666666);
            square.graphics.drawRect(0,0,100,100);
            square.graphics.endFill();
            square.cacheAsBitmap = true;
            this.addChild( square );

            var loader:Loader = new Loader();
            loader.load( new URLRequest("http://upload.wikimedia.org/wikipedia/commons/c/cf/AWBWH1.png") );
            loader.scaleX = 0.25;
            loader.scaleY = 0.25;
            loader.cacheAsBitmap = true;
            this.addChild( loader );

            square.mask = loader;
        }
    }
}

実行結果: