普通的改变对象的宽和高并不能改变对象的实际像素,只是在显示的时候缩放了而已,要改变实际的像素值就需要用到矩阵,代码如下:
var width:Number; //原图宽度
var height:Number; //原图高度
var scaleX:Number; //X轴缩放比例
var scaleY:Number; //Y轴缩放比例
var sourceBmpData:BitmapData = new BitmapData(width, height, true, 0x000000);
var destBmpData:BitmapData = new BitmapData(width * scaleX, height * scaleY, true, 0x000000);
var matrix:Matrix = new Matrix();
matrix.scale(scaleX, scaleY); //构建矩阵缩放
destBmpData.draw(sourceBmpData, matrix);
var height:Number; //原图高度
var scaleX:Number; //X轴缩放比例
var scaleY:Number; //Y轴缩放比例
var sourceBmpData:BitmapData = new BitmapData(width, height, true, 0x000000);
var destBmpData:BitmapData = new BitmapData(width * scaleX, height * scaleY, true, 0x000000);
var matrix:Matrix = new Matrix();
matrix.scale(scaleX, scaleY); //构建矩阵缩放
destBmpData.draw(sourceBmpData, matrix);
这个作用是应用在大场景背景图的缩放,加载大场景背景图的时候会先加载一张缩放图,这个功能是场景编辑器的一个功能。