0
votes

I am trying to resize a bitmap for a project we are working on at work in as 3.0. Basically we have a bunch of sprites that get drawn on a bitmapData and then are stored in a vector. The data in the vector eventually gets stored in a bitmap object. Now I want to make the BitmapData sprites smaller but don't want to have to update 100 matrix to do it. Is there another way?

I had some success by scaling the bitmap that gets displayed but the image is a bit jagged looking and the models don't turn around just moon walk.

I have also tired Matrix.a = 0.4 and matrix.d = 0.4 but that did nothing.

When I did bitmap.scalex = 0.7 and the same for scaleY it made it smaller but now they are in the air as the x and y aren't right and the code for them to go in reverse was just doing scalX *= -1 which now doesn't seem to work either. Also I figured out how to get them out of the air but they are as said before jagged and moon walking. Please help as I am attempting to fix code that was written before I got here.

Bascially here is some code, I got approval from the CEO:

we have this:

var b:BitmapData = new BitmapData(CustomerRenderer.BLIT_WIDTH,      
CustomerRenderer.BLIT_HEIGHT, true, 0x00000000);
        for(var i:int=0; i<WRAPPER.numChildren; i++)
        {
            b.draw(Sprite(WRAPPER.getChildAt(i)),  
                   WRAPPER.getChildAt(i).transform.matrix, null, null, b.rect, true);
        }
        _spriteSheet[_currentFrame] = b;

Then we use that data in

 BAKED_BITMAP.bitmapData = _spriteSheet[_currentFrame];

to display it where BAKED_BITMAP is a Bitmap

then to flip all the person was doing was:

 BAKED_BITMAP.scaleX *= -1;
 BAKED_BITMAP.x = (BAKED_BITMAP.scaleX >= 0) ? 0 : BLIT_WIDTH;

thanks

1

1 Answers

2
votes

You can try setting the smoothing property of the Bitmap object to see if it gives you the desired effect.