在使用AS2的MovieClipLoader加载图片时,如果对加载的图片进行缩放或旋转时,图片会有明显的锯齿,对于库里的图片,只要把允许平滑(Smoothing)的勾选上,既可以消除图片的锯齿,对比勾选或未勾选平滑效果的图片,在图片没有缩放或旋转状态时,未勾选的图片会比较清晰.如果是对于加载的方式得到的图片,在使用AS2方法去加载图片时,是没法直接对加载的图片对象进行平滑处理的,但通过AS3的方法加载图片,加载成功的图片会是Bitmap对象,Bitmap对象有smoothing的属性,直接设为true,既可对图片进行平滑处理.
所以,我现改写MovieClipLoader类,通过Bitmapdata类,重绘图片,再把图片attachBitmap到加载的mc上,这样就可以控制加载的图片是否允许平滑.对于MovieClipLoader的声明与方法都是保持了原样,除了loadClip()方法,我增加了第三个参数,默认为false,如果定义为true,则对加载的对象,不管是swf还是jpg,png,都会先转为Bitmapdata类,再attachBitmap到mc.
以下为例子代码:
var mcl:MovieClipLoader = new MovieClipLoader();
function onLoadInit(mc){
mc._rotation = 30;
}
//DON'T try override MovieClipLoader.onLoadInit method, when load a smoothing image.
//mcl['onLoadInit']=onLoadInit;
mcl.addListener(this);
//the third params "true" means loading a image with smoothing.
mcl.loadClip("jiaose_3_rob_12.png", loader_mc, true);
function onMouseDown(){
loader_mc._rotation += 10;
}
下载mxp,下载sample.zip
发表回复