У меня большой спрайт ... и я делю его на несколько меньших с функцией ниже.Функция прекрасно работает, но использование памяти моего .swf резко возрастает.
Что я делаю не так?
private function split_sprite(sp:Sprite,the_parrent:Sprite) {
var region:Rectangle = new Rectangle();
region = sp.getBounds(the_parrent);
var w=region.width/10;
var h = region.height ;
for (var i=0;i<10;i++){
//Build Matrix Transform
var mat:Matrix= new Matrix(1,0,0,1, 0-w*i, 0 );
sp.transform.matrix = mat;
//Draw the bitmap
var temp:BitmapData = new BitmapData(w + 2 , h, true, 0x000000);
temp.draw(sp,mat);
//Attach the BitmapData to a Bitmap Instance
var myBitmap:Bitmap = new Bitmap(temp);
myBitmap.smoothing = true;
//Re apply an Inverse Matrix
mat = new Matrix(1,0,0,1, region.x, region.y);
myBitmap.transform.matrix = mat;
var spp=new Sprite();
//spp.cacheAsBitmap=true;
spp.addChild(myBitmap);
spp.x=w*i;
the_parrent.addChild(spp);
}
}