复制内容到剪贴板
代码:
function mozaic(mc) {
var pixelSize = 100;
this.createEmptyMovieClip("pixelated_mc", 1);
this.createEmptyMovieClip("mozaicEngine", 2);
mozaicEngine.onEnterFrame = function() {
var mozaicMap = new flash.display.BitmapData(mc._width/pixelSize, mc._height/pixelSize, false);
pixelated_mc.attachBitmap(mozaicMap, 1);
var mozaicMatrix = new flash.geom.Matrix();
mozaicMatrix.scale(1/pixelSize, 1/pixelSize);
mozaicMap.draw(mc, mozaicMatrix);
pixelated_mc._x = mc._x;
pixelated_mc._y = mc._y;
pixelated_mc._width = mc._width;
pixelated_mc._height = mc._height;
if (pixelSize == 1) {
pixelated_mc.removeMovieClip();
this.removeMovieClip();
delete this.onEnterFrame;
} else {
pixelSize = pixelSize*0.9;
if (pixelSize<=1) {
pixelSize = 1;
}
}
};
}因为效果不错.对上面的代码重写了下.去掉无用的代码和加密的乱码.
添加指定mc的参数.可以对任何mc进行这种马赛克效果了.前提是mc中有内容,如果加载外部内容请注意加载延迟.还有..mc的注册点是左上角...
结帖吧!~